赞
踩
# ThgingsBoard
https://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/deploy/deploy-single/
# 安装文档
# CentOS安装
https://thingsboard.io/docs/user-guide/install/rhel/
http://www.ithingsboard.com/docs/user-guide/install/rhel/?rhelThingsboardDatabase=timescale
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-19.03.15-3.el7
$ systemctl enable docker && systemctl start docker
$ docker --version
# 参考 本次安装版本有问题
yum -y install docker-ce-19.03.*
安装版本19.03.*
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce
$ systemctl enable docker && systemctl start docker
$ docker --version
# 添加阿里云加速镜像
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://gcctk8ld.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
#重启docker
systemctl restart docker
1.创建目录 # mkdir -p /ntms/pg/data/psql 2.运行容器 docker run -d --network host --name pg12 --restart=always \ -e LANG="C.UTF-8" \ -e 'TZ=Asia/Shanghai' \ -e "POSTGRES_DB=postgres" \ -e "POSTGRES_USER=postgres" \ -e "POSTGRES_PASSWORD=postgres" \ -v /ntms/pg/data/psql:/var/lib/postgresql/data \ postgres:12 3.进入容器 # docker exec -it pg12 /bin/sh 切换用户 # su - postgres $ psql # \l
# 访问地址
192.168.202.188
5432
postgres/postgres
1.创建目录 # mkdir -p /k8s/pg/data/psql 2.运行容器 docker run -d --name timescaledb --network host --restart=always \ -e LANG="C.UTF-8" \ -e 'TZ=Asia/Shanghai' \ -e "POSTGRES_DB=postgres" \ -e "POSTGRES_USER=postgres" \ -e "POSTGRES_PASSWORD=postgres" \ -v /k8s/pg/data/psql:/var/lib/postgresql/data \ timescale/timescaledb:2.1.0-pg12 3.进入容器 # docker exec -it timescaledb /bin/sh 切换用户 # su - postgres $ psql # \l 查看版本信息 postgres=# select version(); postgres=# show server_version; postgres=# SHOW server_version_num; postgres=# SELECT current_setting('server_version_num'); 客户端版本 7a7a34fb363c:~$ psql --version psql (PostgreSQL) 11.11
# 访问地址
192.168.202.189
5432
postgres/postgres
# 运行容器
docker run -d --network host --restart=always --name rabbitmq rabbitmq:management
# 访问地址
http://192.168.202.189:15672/
# 账户/密码:
guest/guest
*************************************************************** # 安装环境准备 # 创建目录 mkdir -p /k8s/redis/master/log mkdir -p /k8s/redis/master/data 对log目录进行读写授权 chmod 777 /k8s/redis/master/log *************************************************************** # 修改配置文件 # 获取配置文件 1.获取redis配置文件 redis官方提供了一个配置文件样例,通过wget工具下载下来。我用的root用户,就直接下载到/root目录里了 wget http://download.redis.io/redis-stable/redis.conf 注意:下载6.0的安装包获取配置文件 #配置文件路径 /k8s/redis/master/redis.conf # 修改配置文件 # 注释这一行,表示Redis可以接受任意ip的连接 # bind 127.0.0.1 # 端口 port 6379 # 关闭保护模式 protected-mode no # 让redis服务后台运行 daemonize no # 开启数据持久化 appendonly yes # 设定密码(可选,如果这里开启了密码要求,slave的配置里就要加这个密码. 只是练习配置,就不使用密码认证了) # requirepass Mypwd@123456 # 从库时需要增加主库配置 # 主库密码(一个集群密码需要保持一致) masterauth Mypwd@123456 # 配置日志路径,为了便于排查问题,指定redis的日志文件目录 logfile "/var/log/redis/redis.log" *************************************************************** # 运行容器 # 拉取镜像 docker pull redis:6.0 *************************************************************** # 运行master容器 docker run -d --network host --restart=always \ --name redis \ --privileged=true \ -v /k8s/redis/master/redis.conf:/usr/local/etc/redis/redis.conf \ -v /k8s/redis/master/data:/data \ -v /k8s/redis/master/log:/var/log/redis \ redis:6.0 \ redis-server /usr/local/etc/redis/redis.conf
# 访问地址
redis
192.168.202.188
6379
1.启动防火墙 systemctl start firewalld 2.关闭防火墙 systemctl stop firewalld 3.查看状态 systemctl status firewalld 4.开机启用防火墙 systemctl enable firewalld 5.开机禁用防火墙 systemctl disable firewalld
方案一(推荐):TimescaleDB + RabbitMQ + Redis
注意:要保证TimescaleDB + RabbitMQ + Redis先启动,建议中间件跟tb分机器安装,后启动tb
# Install wget
sudo yum install -y nano wget
# Add latest EPEL release for CentOS 7
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# ThingsBoard服务运行在Java 11请按照以下说明安装OpenJDK 11:
sudo yum install java-11-openjdk
# 可以使用以下命令检查安装:
java -version
# 命令输出结果:
[root@192 thingsboard]# java -version
openjdk version "11.0.19" 2023-04-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.19.0.7-1.el7_9) (build 11.0.19+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.19.0.7-1.el7_9) (build 11.0.19+7-LTS, mixed mode, sharing)
# 下载安装包。
wget https://github.com/thingsboard/thingsboard/releases/download/v3.5.1/thingsboard-3.5.1.rpm
# 安装服务
sudo rpm -Uvh thingsboard-3.5.1.rpm
[root@192 ~]# cd /thingsboard/
[root@192 thingsboard]# ll
total 188944
-rw-r--r--. 1 root root 193478652 Aug 9 01:21 thingsboard-3.5.1.rpm
[root@192 thingsboard]# rpm -Uvh thingsboard-3.5.1.rpm
Preparing... ################################# [100%]
Updating / installing...
1:thingsboard-0:3.5.1-1 ################################# [100%]
TimescaleDB配置
编辑配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
将下面内容添加到配置文件中并替换“PUT_YOUR_POSTGRESQL_PASSWORD_HERE”为postgres帐户密码:
# TimescaleDB
export DATABASE_TS_TYPE=timescale
export SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.202.189:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=postgres
# Specify Interval size for data chunks storage. Please note that this value can be set only once.
export SQL_TIMESCALE_CHUNK_TIME_INTERVAL=604800000 # Number of miliseconds. The current value corresponds to one week.
PostgreSQL配置
编辑配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
将下面内容添加到配置文件中并替换“PUT_YOUR_POSTGRESQL_PASSWORD_HERE”为postgres帐户密码:
# PostgreSQL
export DATABASE_TS_TYPE=sql
export SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.202.188:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=postgres
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
注意:需要手动创建数据库 thingsboard,否则启动会失败。
ThingsBoard配置
编辑配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
将以下行添加到配置文件将“YOUR_USERNAME”和“YOUR_PASSWORD”替换为真实的信息将“localhost”和“5672”替换为真实的RabbitMQ主机和端口:
export TB_QUEUE_TYPE=rabbitmq
export TB_QUEUE_RABBIT_MQ_USERNAME=guest
export TB_QUEUE_RABBIT_MQ_PASSWORD=guest
export TB_QUEUE_RABBIT_MQ_HOST=192.168.202.189
export TB_QUEUE_RABBIT_MQ_PORT=5672
Redis需要修改的配置
cache:
# caffeine or redis
type: "${CACHE_TYPE:caffeine}"
redis:
# standalone or cluster
connection:
type: "${REDIS_CONNECTION_TYPE:standalone}"
standalone:
host: "${REDIS_HOST:localhost}"
port: "${REDIS_PORT:6379}"
ThingsBoard配置
编辑配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
#Redis
export CACHE_TYPE=redis
export REDIS_CONNECTION_TYPE=standalone
export REDIS_HOST=192.168.202.189
export REDIS_PORT=6379
编辑配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
将以下行添加到配置文件
# Update ThingsBoard memory usage and restrict it to 256MB in/etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"
执行以下脚本安装ThingsBoard服务并初始化演示数据:
# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
注意:需要手动创建数据库
[root@192 thingsboard]# /usr/share/thingsboard/bin/install/install.sh --loadDemo ______ __ _ ____ __ /_ __/ / /_ (_) ____ ____ _ _____ / __ ) ____ ____ _ _____ ____/ / / / / __ \ / / / __ \ / __ `/ / ___/ / __ | / __ \ / __ `/ / ___/ / __ / / / / / / / / / / / / / / /_/ / (__ ) / /_/ / / /_/ // /_/ / / / / /_/ / /_/ /_/ /_/ /_/ /_/ /_/ \__, / /____/ /_____/ \____/ \__,_/ /_/ \__,_/ /____/ =================================================== :: ThingsBoard :: (v3.5.1) =================================================== 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 default notification configs for system admin Creating default notification configs for all tenants Loading demo data... Installation finished successfully! ThingsBoard installed successfully!
执行以下命令以启动ThingsBoard:
service thingsboard start
systemctl start thingsboard
systemctl enable thingsboard
systemctl status thingsboard
启动后使用以下链接打开Web UI:
http://192.168.202.189:8080/
[root@192 thingsboard]# systemctl start thingsboard [root@192 thingsboard]# systemctl status thingsboard ● thingsboard.service - thingsboard Loaded: loaded (/usr/lib/systemd/system/thingsboard.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2023-08-09 01:58:38 CST; 9s ago Main PID: 14924 (thingsboard.jar) CGroup: /system.slice/thingsboard.service ├─14924 /bin/bash /usr/share/thingsboard/bin/thingsboard.jar └─14940 /usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -Dplatform=rpm -Dinstall.data_dir=/usr/share/thingsboard/data... Aug 09 01:58:38 192.168.202.188 systemd[1]: Started thingsboard. Aug 09 01:58:39 192.168.202.188 thingsboard.jar[14924]: ______ __ _ ____ __ Aug 09 01:58:39 192.168.202.188 thingsboard.jar[14924]: /_ __/ / /_ (_) ____ ____ _ _____ / __ ) ____ ____ _ _____ ____/ / Aug 09 01:58:39 192.168.202.188 thingsboard.jar[14924]: / / / __ \ / / / __ \ / __ `/ / ___/ / __ | / __ \ / __ `/ / ___/ / __ / Aug 09 01:58:39 192.168.202.188 thingsboard.jar[14924]: / / / / / / / / / / / / / /_/ / (__ ) / /_/ / / /_/ // /_/ / / / / /_/ / Aug 09 01:58:39 192.168.202.188 thingsboard.jar[14924]: /_/ /_/ /_/ /_/ /_/ /_/ \__, / /____/ /_____/ \____/ \__,_/ /_/ \__,_/ Aug 09 01:58:39 192.168.202.188 thingsboard.jar[14924]: /____/ Aug 09 01:58:39 192.168.202.188 thingsboard.jar[14924]: =================================================== Aug 09 01:58:39 192.168.202.188 thingsboard.jar[14924]: :: ThingsBoard :: (v3.5.1) Aug 09 01:58:39 192.168.202.188 thingsboard.jar[14924]: =================================================== [root@192 thingsboard]# systemctl enable firewalld Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service. Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
# 如果在安装脚本的执行过程中指定了-loadDemo则可以使用以下默认帐号:
System Administrator: sysadmin@thingsboard.org / sysadmin
Tenant Administrator: tenant@thingsboard.org / tenant
Customer User: customer@thingsboard.org / customer
http://192.168.202.189:8080/login
tenant@thingsboard.org
tenant
192.168.202.189
5432
postgres
postgres
http://192.168.202.189:15672/#/
guest
guest
192.168.202.189
6379
# 安装目录 /usr/share/thingsboard [root@192 thingsboard]# pwd /usr/share/thingsboard [root@192 thingsboard]# ll total 0 drwxr-xr-x. 3 thingsboard thingsboard 87 Aug 9 01:59 bin drwxr-xr-x. 4 thingsboard thingsboard 119 Aug 9 02:43 conf drwxr-xr-x. 8 thingsboard thingsboard 96 Aug 9 01:21 data # 执行文件路径 /usr/share/thingsboard/bin [root@192 bin]# ll total 205116 drwxr-xr-x. 2 thingsboard thingsboard 84 Aug 9 02:32 install -r-x------. 1 thingsboard thingsboard 210037773 May 31 18:24 thingsboard.jar lrwxrwxrwx. 1 thingsboard thingsboard 43 Aug 9 01:21 thingsboard.yml -> /usr/share/thingsboard/conf/thingsboard.yml # 配置文件路径 [root@192 conf]# pwd /usr/share/thingsboard/conf [root@192 conf]# ll total 84 -rwxr-xr--. 1 thingsboard thingsboard 649 May 31 18:24 banner.txt drwxr-xr-x. 2 thingsboard thingsboard 33 Aug 9 01:21 i18n -rwxr-xr--. 1 thingsboard thingsboard 1799 May 31 18:24 logback.xml drwxr-xr-x. 2 thingsboard thingsboard 265 Aug 9 01:21 templates -rwxr-xr--. 1 thingsboard thingsboard 1966 Aug 9 01:44 thingsboard.conf -rwxr-xr--. 1 thingsboard thingsboard 73110 May 31 18:24 thingsboard.yml
# 配置文件
thingsboard.conf
thingsboard.yml
[root@192 conf]# pwd
/usr/share/thingsboard/conf
[root@192 conf]# ll
total 84
-rwxr-xr--. 1 thingsboard thingsboard 649 May 31 18:24 banner.txt
drwxr-xr-x. 2 thingsboard thingsboard 33 Aug 9 01:21 i18n
-rwxr-xr--. 1 thingsboard thingsboard 1799 May 31 18:24 logback.xml
drwxr-xr-x. 2 thingsboard thingsboard 265 Aug 9 01:21 templates
-rwxr-xr--. 1 thingsboard thingsboard 1966 Aug 9 01:44 thingsboard.conf
-rwxr-xr--. 1 thingsboard thingsboard 73110 May 31 18:24 thingsboard.yml
TimescaleDB
[root@thingsboard ~]# vim /usr/share/thingsboard/conf/thingsboard.conf # # Copyright © 2016-2023 The Thingsboard Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # export JAVA_OPTS="$JAVA_OPTS -Dplatform=rpm -Dinstall.data_dir=/usr/share/thingsboard/data" export JAVA_OPTS="$JAVA_OPTS -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError" export JAVA_OPTS="$JAVA_OPTS -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark" export LOG_FILENAME=thingsboard.out export LOADER_PATH=/usr/share/thingsboard/conf,/usr/share/thingsboard/extensions export SQL_DATA_FOLDER=/usr/share/thingsboard/data/sql # TimescaleDB export DATABASE_TS_TYPE=timescale export SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.202.189:5432/thingsboard export SPRING_DATASOURCE_USERNAME=postgres export SPRING_DATASOURCE_PASSWORD=postgres # Specify Interval size for data chunks storage. Please note that this value can be set only once. export SQL_TIMESCALE_CHUNK_TIME_INTERVAL=604800000 # Number of miliseconds. The current value corresponds to one week. # RabbitMQ export TB_QUEUE_TYPE=rabbitmq export TB_QUEUE_RABBIT_MQ_USERNAME=guest export TB_QUEUE_RABBIT_MQ_PASSWORD=guest export TB_QUEUE_RABBIT_MQ_HOST=192.168.202.189 export TB_QUEUE_RABBIT_MQ_PORT=5672 # Redis export CACHE_TYPE=redis export REDIS_CONNECTION_TYPE=standalone export REDIS_HOST=192.168.202.189 export REDIS_PORT=6379
PostgreSQL
[root@thingsboard ~]# vim /usr/share/thingsboard/conf/thingsboard.conf # # Copyright © 2016-2023 The Thingsboard Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # export JAVA_OPTS="$JAVA_OPTS -Dplatform=rpm -Dinstall.data_dir=/usr/share/thingsboard/data" export JAVA_OPTS="$JAVA_OPTS -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError" export LOG_FILENAME=thingsboard.out export LOADER_PATH=/usr/share/thingsboard/conf,/usr/share/thingsboard/extensions export SQL_DATA_FOLDER=/usr/share/thingsboard/data/sql # PostgreSQL export DATABASE_TS_TYPE=sql export SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.202.188:5432/thingsboard export SPRING_DATASOURCE_USERNAME=postgres export SPRING_DATASOURCE_PASSWORD=postgres export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS # RabbitMQ export TB_QUEUE_TYPE=rabbitmq export TB_QUEUE_RABBIT_MQ_USERNAME=guest export TB_QUEUE_RABBIT_MQ_PASSWORD=guest export TB_QUEUE_RABBIT_MQ_HOST=192.168.202.188 export TB_QUEUE_RABBIT_MQ_PORT=5672 # Redis export CACHE_TYPE=redis export REDIS_CONNECTION_TYPE=standalone export REDIS_HOST=192.168.202.188 export REDIS_PORT=6379
[root@192 conf]# vim thingsboard.yml # # Copyright © 2016-2023 The Thingsboard Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # server: # Server bind address address: "${HTTP_BIND_ADDRESS:0.0.0.0}" # Server bind port port: "${HTTP_BIND_PORT:8080}" # Server forward headers strategy forward_headers_strategy: "${HTTP_FORWARD_HEADERS_STRATEGY:NONE}" # Server SSL configuration ssl: # Enable/disable SSL support enabled: "${SSL_ENABLED:false}" # Server SSL credentials credentials: # Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore) type: "${SSL_CREDENTIALS_TYPE:PEM}" # PEM server credentials pem: # Path to the server certificate file (holds server certificate or certificate chain, may include server private key) cert_file: "${SSL_PEM_CERT:server.pem}" key_file: "${SSL_PEM_KEY:server_key.pem}" # Server certificate private key password (optional) key_password: "${SSL_PEM_KEY_PASSWORD:server_key_password}" # Keystore server credentials keystore: # Type of the key store (JKS or PKCS12) type: "${SSL_KEY_STORE_TYPE:PKCS12}" # Path to the key store that holds the SSL certificate store_file: "${SSL_KEY_STORE:classpath:keystore/keystore.p12}" # Password used to access the key store store_password: "${SSL_KEY_STORE_PASSWORD:thingsboard}" # Key alias key_alias: "${SSL_KEY_ALIAS:tomcat}" # Password used to access the key key_password: "${SSL_KEY_PASSWORD:thingsboard}" # HTTP/2 support (takes effect only if server SSL is enabled) http2: # Enable/disable HTTP/2 support enabled: "${HTTP2_ENABLED:true}" log_controller_error_stack_trace: "${HTTP_LOG_CONTROLLER_ERROR_STACK_TRACE:false}" ws: send_timeout: "${TB_SERVER_WS_SEND_TIMEOUT:5000}" # recommended timeout >= 30 seconds. Platform will attempt to send 'ping' request 3 times within the timeout ping_timeout: "${TB_SERVER_WS_PING_TIMEOUT:30000}" dynamic_page_link: refresh_interval: "${TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_INTERVAL_SEC:60}" refresh_pool_size: "${TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_POOL_SIZE:1}" max_alarm_queries_per_refresh_interval: "${TB_SERVER_WS_MAX_ALARM_QUERIES_PER_REFRESH_INTERVAL:10}" max_per_user: "${TB_SERVER_WS_DYNAMIC_PAGE_LINK_MAX_PER_USER:10}" max_entities_per_data_subscription: "${TB_SERVER_WS_MAX_ENTITIES_PER_DATA_SUBSCRIPTION:10000}" max_entities_per_alarm_subscription: "${TB_SERVER_WS_MAX_ENTITIES_PER_ALARM_SUBSCRIPTION:10000}" max_queue_messages_per_session: "${TB_SERVER_WS_DEFAULT_QUEUE_MESSAGES_PER_SESSION:1000}" rest: server_side_rpc:
ThingsBoard日志存储在以下目录中:
/var/log/thingsboard
执行如下命令检查后面是否有错误:
cat /var/log/thingsboard/thingsboard.log | grep ERROR
# CentOS7 时间快8小时问题处理
https://www.cnblogs.com/java365/articles/17286540.html
# centos7 时间同步
https://blog.csdn.net/yangziqi098/article/details/129542096
方案三(轻量):TimescaleDB(推荐)或PostgreSQL
TimescaleDB配置
编辑配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
将下面内容添加到配置文件中并替换“PUT_YOUR_POSTGRESQL_PASSWORD_HERE”为postgres帐户密码:
# TimescaleDB
export DATABASE_TS_TYPE=timescale
export SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.202.189:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=postgres
# Specify Interval size for data chunks storage. Please note that this value can be set only once.
export SQL_TIMESCALE_CHUNK_TIME_INTERVAL=604800000 # Number of miliseconds. The current value corresponds to one week.
PostgreSQL配置
编辑配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
将下面内容添加到配置文件中并替换“PUT_YOUR_POSTGRESQL_PASSWORD_HERE”为postgres帐户密码:
# PostgreSQL
export DATABASE_TS_TYPE=sql
export SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.202.188:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=postgres
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
注意:需要手动创建数据库 thingsboard,否则启动会失败。
1. 通过rpm -q <关键字>查到rpm包的名字。 2. 调用rpm -e <包名>删除特定的rpm包 # 安装 rpm -ivh rpm安装包的名字 # 卸载 rpm -e rpm的名字 rpm -e rpm的名字 --nodeps (强制卸载) [root@192 thingsboard]# rpm -qa thingsboard thingsboard-3.4.4-1.noarch #rpm -e thingsboard-3.4.4-1.noarch
# 1.停止服务 [root@192 thingsboard]# systemctl stop thingsboard [root@192 thingsboard]# systemctl status thingsboard ● thingsboard.service - thingsboard Loaded: loaded (/usr/lib/systemd/system/thingsboard.service; disabled; vendor preset: disabled) Active: inactive (dead) # 2.通过rpm -q <关键字>查到rpm包的名字 [root@192 thingsboard]# rpm -qa thingsboard thingsboard-3.4.4-1.noarch # 3.卸载 [root@192 thingsboard]# rpm -e thingsboard-3.4.4-1.noarch warning: /usr/share/thingsboard/conf/thingsboard.conf saved as /usr/share/thingsboard/conf/thingsboard.conf.rpmsave # 4.删除安装目录 # 安装目录 [root@192 thingsboard]# pwd /usr/share/thingsboard [root@192 thingsboard]# ll total 0 drwxr-xr-x. 3 thingsboard thingsboard 41 Oct 8 00:50 bin drwxr-xr-x. 4 thingsboard thingsboard 67 Oct 8 00:50 conf drwxr-xr-x. 7 thingsboard thingsboard 74 Sep 8 00:26 data # 日志目录 [root@192 thingsboard]# pwd /var/log/thingsboard [root@192 thingsboard]# ll total 10636 -rw-r--r--. 1 thingsboard thingsboard 348247 Oct 8 00:49 gc.log -rw-r--r--. 1 thingsboard thingsboard 170872 Sep 8 00:33 gc.log.0 -rw-r--r--. 1 thingsboard thingsboard 2256074 Sep 7 18:35 gc.log.1 -rw-r--r--. 1 thingsboard thingsboard 6587768 Sep 7 21:31 gc.log.2 -rw-r--r--. 1 thingsboard thingsboard 640558 Sep 19 06:13 gc.log.3 -rw-r--r--. 1 thingsboard thingsboard 311432 Sep 19 17:44 gc.log.4 -rw-r--r--. 1 thingsboard thingsboard 12809 Sep 8 00:33 install.log -rw-r--r--. 1 thingsboard thingsboard 427992 Sep 19 17:44 thingsboard.2023-09-19.0.log -rw-r--r--. 1 thingsboard thingsboard 114042 Oct 8 00:49 thingsboard.log # 配置文件 [root@192 conf]# pwd /etc/thingsboard/conf [root@192 conf]# ll total 80 -rwxr-xr--. 1 thingsboard thingsboard 649 Feb 7 2023 banner.txt drwxr-xr-x. 2 thingsboard thingsboard 33 Oct 8 00:59 i18n -rwxr-xr--. 1 thingsboard thingsboard 1799 Feb 7 2023 logback.xml drwxr-xr-x. 2 thingsboard thingsboard 265 Oct 8 00:59 templates -rwxr-xr--. 1 thingsboard thingsboard 1388 Feb 7 2023 thingsboard.conf -rwxr-xr--. 1 thingsboard thingsboard 68856 Feb 7 2023 thingsboard.yml # 5.删除数据库
# ThgingsBoard
https://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/deploy/deploy-single/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。