一、安装 Java (OpenJDK 17)
#ThingsBoard 3.x+ 需要 Java 11 或更高版本。Rocky Linux 9 仓库默认提供 OpenJDK 17。
sudo dnf install -y java-17-openjdk-devel
#验证安装
java -version
二、安装postgresql
#如果有服务端的话 安装客户端即可
sudo dnf install postgresql
#ThingsBoard 使用 PostgreSQL 作为主数据库。Rocky Linux 9 默认仓库提供较新版本的 PostgreSQL(如 13 或更高)。
#安装 PostgreSQL Server & Client
sudo dnf install -y postgresql-server postgresql-contrib
#初始化数据库(如果尚未初始化)
sudo postgresql-setup --initdb --unit postgresql
#启动并启用 PostgreSQL 服务
sudo systemctl enable postgresql
sudo systemctl start postgresql
三、创建 ThingsBoard 数据库和用户
[root@localhost ~]# psql -h 192.168.30.23 -p 5432 -U postgres
Password for user postgres:
psql (13.20, server 12.22)
Type "help" for help.
postgres=# CREATE USER thingsboard WITH PASSWORD 'axing123456';
CREATE ROLE
postgres=# CREATE DATABASE thingsboard WITH OWNER thingsboard;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE thingsboard TO thingsboard;
GRANT
postgres=# \q
-- 创建一个名为 thingsboard 的新用户(role),并设置密码(请替换 'PUT_YOUR_STRONG_PASSWORD_HERE' 为强密码!)
CREATE USER thingsboard WITH PASSWORD 'PUT_YOUR_STRONG_PASSWORD_HERE';
-- 创建一个名为 thingsboard 的新数据库,并指定所有者(owner)为刚刚创建的 thingsboard 用户
CREATE DATABASE thingsboard WITH OWNER thingsboard;
-- 授予新用户所有权限 (通常 CREATE USER 和 CREATE DATABASE 已隐含足够权限,此步可选但推荐)
GRANT ALL PRIVILEGES ON DATABASE thingsboard TO thingsboard;
-- 退出 psql
\q
四、配置 ThingsBoard 存储库
#下载地址
https://github.com/thingsboard/thingsboard/releases/tag/v3.9
#安装
[root@rabbit3 ~]# ls
anaconda-ks.cfg mq redis.tar thingsboard-3.9.rpm
[root@rabbit3 ~]# sudo dnf install -y ./thingsboard-3.9.rpm
五、初始化数据库 Schema
#执行
vi /usr/share/thingsboard/conf/thingsboard.yml
修改postgresql连接地址和账号密码
[root@rabbit3 ~]# sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
OpenJDK 64-Bit Server VM warning: Option UseBiasedLocking was deprecated in version 15.0 and will likely be removed in a future release.
______ __ _ ____ __
/_ __/ / /_ (_) ____ ____ _ _____ / __ ) ____ ____ _ _____ ____/ /
/ / / __ \ / / / __ \ / __ `/ / ___/ / __ | / __ \ / __ `/ / ___/ / __ /
/ / / / / / / / / / / / / /_/ / (__ ) / /_/ / / /_/ // /_/ / / / / /_/ /
/_/ /_/ /_/ /_/ /_/ /_/ \__, / /____/ /_____/ \____/ \__,_/ /_/ \__,_/
/____/
===================================================
:: ThingsBoard :: (v3.9.0)
===================================================
Starting ThingsBoard Installation...
Installing DataBase schema for entities...
Installing SQL DataBase schema part: schema-entities.sql
Installing SQL DataBase schema indexes part: schema-entities-idx.sql
Installing SQL DataBase schema PostgreSQL specific indexes part: schema-entities-idx-psql-addon.sql
Installing SQL DataBase schema views and functions: schema-views-and-functions.sql
Successfully executed query: DROP VIEW IF EXISTS device_info_view CASCADE;
Successfully executed query: CREATE OR REPLACE VIEW device_info_view AS SELECT * FROM device_info_active_attribute_view;
Installing DataBase schema for timeseries...
Installing SQL DataBase schema part: schema-ts-psql.sql
Successfully executed query: CREATE TABLE IF NOT EXISTS ts_kv_indefinite PARTITION OF ts_kv DEFAULT;
Loading system data...
Creating JWT admin settings...
Loading system widgets
Loading system SCADA symbols
Creating default notification configs for system admin
Creating default notification configs for all tenants
Loading system images and resources...
Loading demo data...
Installation finished successfully!
ThingsBoard installed successfully!
[root@rabbit3 ~]# sudo systemctl enable thingsboard
sudo systemctl start thingsboard
#查看状态
[root@rabbit3 ~]# sudo systemctl status thingsboard
● thingsboard.service - thingsboard
Loaded: loaded (/usr/lib/systemd/system/thingsboard.service; enabled; preset: disabled)
Active: active (running) since Thu 2025-08-14 10:05:16 CST; 3s ago
Main PID: 7315 (thingsboard.jar)
Tasks: 25 (limit: 48682)
Memory: 209.7M
CPU: 7.018s
CGroup: /system.slice/thingsboard.service
├─7315 /bin/bash /usr/share/thingsboard/bin/thingsboard.jar
└─7330 /usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -Dplatform=rpm -Dinstall.data_dir=/usr/share/thingsboard/data "-Xlog:gc*,heap*,age*,safepoint=debug:file=/var/log/thingsboard/gc.log:time,uptime,l>
Aug 14 10:05:16 rabbit3 thingsboard.jar[7330]: OpenJDK 64-Bit Server VM warning: Option UseBiasedLocking was deprecated in version 15.0 and will likely be removed in a future release.
Aug 14 10:05:18 rabbit3 thingsboard.jar[7330]: ______ __ _ ____ __
Aug 14 10:05:18 rabbit3 thingsboard.jar[7330]: /_ __/ / /_ (_) ____ ____ _ _____ / __ ) ____ ____ _ _____ ____/ /
Aug 14 10:05:18 rabbit3 thingsboard.jar[7330]: / / / __ \ / / / __ \ / __ `/ / ___/ / __ | / __ \ / __ `/ / ___/ / __ /
Aug 14 10:05:18 rabbit3 thingsboard.jar[7330]: / / / / / / / / / / / / / /_/ / (__ ) / /_/ / / /_/ // /_/ / / / / /_/ /
Aug 14 10:05:18 rabbit3 thingsboard.jar[7330]: /_/ /_/ /_/ /_/ /_/ /_/ \__, / /____/ /_____/ \____/ \__,_/ /_/ \__,_/
Aug 14 10:05:18 rabbit3 thingsboard.jar[7330]: /____/
Aug 14 10:05:18 rabbit3 thingsboard.jar[7330]: ===================================================
Aug 14 10:05:18 rabbit3 thingsboard.jar[7330]: :: ThingsBoard :: (v3.9.0)
Aug 14 10:05:18 rabbit3 thingsboard.jar[7330]: ===================================================
六、访问web
http://192.168.30.26:8080/
系统管理员:
Username: tenant@thingsboard.org
Password: tenant
租户管理员:
Username: customer@thingsboard.org
Password: customer
(重要!) 首次登录后立即更改这些默认密码!
#日志查看
sudo tail -f /var/log/thingsboard/thingsboard.log
评论 (0)