产品定价 立即试用
专业版
入门 文档 指南
架构 API 常见问题
目录

ThingsBoard PE v3.3.x CentOS 升级说明

升级ThingsBoard前的准备工作

停止ThingsBoard 检查ThingsBoard及数据库服务是否在运行。 先停止ThingsBoard,检查状态确认已停止,再处理数据库。

1
sudo systemctl stop thingsboard
1
sudo systemctl status thingsboard

备份数据库

升级前请对数据库进行备份。

PostgreSQL

检查PostgreSQL状态。备份时无需停止PostgreSQL。

1
sudo systemctl status postgresql

请确保有足够的空间存放数据库备份 检查数据库大小

1
sudo -u postgres psql -c "SELECT pg_size_pretty( pg_database_size('thingsboard') );"

检查可用空间

1
df -h /

如有足够可用空间,可执行备份。

1
sudo -Hiu postgres pg_dump thingsboard > thingsboard.sql.bak

确认备份文件已创建。

Cassandra

检查Cassandra状态。备份Cassandra需先停止服务。

1
sudo systemctl status cassandra

将所有memtable从节点刷新到磁盘上的SSTable。

1
nodetool drain

停止Cassandra。

1
sudo systemctl stop cassandra

需再次检查状态以确认已完全停止。

1
sudo systemctl status cassandra

请确保有足够的空间存放数据库备份 检查数据库大小。

1
du -h /var/lib/cassandra/ | tail -1

检查可用空间。

1
df -h /

执行Cassandra数据库备份。

1
2
mkdir backup
sudo tar -cvf backup/cassandra.tar /var/lib/cassandra

确认归档是否正在创建

启动数据库

Cassandra

1
sudo systemctl start cassandra

PostgreSQL 无需操作,PostgreSQL已在运行。

将 ThingsBoard PE 升级到 3.3.4.1

文档信息图标

注意:

本升级步骤适用于 ThingsBoard 版本 3.3.4PE。 要升级到 3.3.4.1PE,需先升级到 3.3.4PE
升级 ThingsBoard 前请先准备

下载 ThingsBoard PE 安装包

1
wget https://dist.thingsboard.io/thingsboard-3.3.4.1pe.rpm

ThingsBoard PE 服务升级

  • 若 ThingsBoard 服务正在运行,请先停止。
1
sudo service thingsboard stop
  • 此处所述安装 ThingsBoard Web Report 组件。
1
sudo rpm -Uvh thingsboard-3.3.4.1pe.rpm

启动服务

1
sudo service thingsboard start

将 ThingsBoard PE 升级到 3.3.4

文档信息图标

注意:

本升级步骤适用于 ThingsBoard 版本 3.3.3PE。 要升级到 3.3.4PE,需先升级到 3.3.3PE
升级 ThingsBoard 前请先准备

下载 ThingsBoard PE 安装包

1
wget https://dist.thingsboard.io/thingsboard-3.3.4pe.rpm

ThingsBoard PE 服务升级

  • 若 ThingsBoard 服务正在运行,请先停止。
1
sudo service thingsboard stop
  • 此处所述安装 ThingsBoard Web Report 组件。
1
sudo rpm -Uvh thingsboard-3.3.4pe.rpm
1
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.3.3

启动服务

1
sudo service thingsboard start

Upgrading ThingsBoard PE to 3.3.3

NOTE: These upgrade steps are applicable for ThingsBoard version 3.3.2PE. In order to upgrade to 3.3.3PE you need to upgrade to 3.3.2PE first. Prepare for upgrading ThingsBoard.

文档信息图标

升级至 ThingsBoard 3.3.3 前的重要提示

ThingsBoard UI 已迁移至 Angular 12。您需要在 Angular 12 上重新构建自定义部件和规则节点(使用 UI 的部分)。

ThingsBoard PE package download

1
wget https://dist.thingsboard.io/thingsboard-3.3.3pe.rpm

ThingsBoard PE service upgrade

  • Stop ThingsBoard service if it is running.
1
$ sudo service thingsboard stop
  • Install Thingsboard Web Report component as described here.
1
sudo rpm -Uvh thingsboard-3.3.3pe.rpm

NOTE: Package installer may ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.

Execute regular upgrade script:

1
2
# Execute regular upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.3.2

Start the service

1
$ sudo service thingsboard start

Upgrading ThingsBoard PE to 3.3.2

NOTE: These upgrade steps are applicable for ThingsBoard version 3.3.1PE. In order to upgrade to 3.3.2PE you need to upgrade to 3.3.1PE first. Prepare for upgrading ThingsBoard.

ThingsBoard PE package download

1
wget https://dist.thingsboard.io/thingsboard-3.3.2pe.rpm

ThingsBoard PE service upgrade

  • Stop ThingsBoard service if it is running.
1
$ sudo service thingsboard stop
  • Install Thingsboard Web Report component as described here.
1
sudo rpm -Uvh thingsboard-3.3.2pe.rpm

NOTE: Package installer may ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten. Please make sure that you set database.ts.type parameter value (in the file /etc/thingsboard/conf/thingsboard.yml) to “cassandra” instead of “sql” if you are using Cassandra database for timeseries data:

1
2
3
4
database:
  ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
  ts:
    type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)

Execute regular upgrade script:

1
2
# Execute regular upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.3.1

Start the service

文档信息图标

若将 Redis 用于缓存,在启动 ThingsBoard 前需清空所有已存储的 key。

连接到您的 Redis 实例(或 container/pod,视部署方式而定),执行:

redis-cli flushall

注意:仅当 Redis 专门用于 ThingsBoard 时可使用此命令。若其他应用也使用 Redis,需定位 ThingsBoard 使用的数据库并仅清空该库。默认数据库 index 为 0,可通过 ThingsBoard 环境变量 REDIS_DB 配置。

redis-cli

select 0

flushdb

1
$ sudo service thingsboard start

Upgrading ThingsBoard PE to 3.3.1

NOTE: These upgrade steps are applicable for ThingsBoard version 3.3.0PE. In order to upgrade to 3.3.1PE you need to upgrade to 3.3.0PE first. Prepare for upgrading ThingsBoard.

ThingsBoard PE package download

1
wget https://dist.thingsboard.io/thingsboard-3.3.1pe.rpm

ThingsBoard PE service upgrade

  • Stop ThingsBoard service if it is running.
1
sudo service thingsboard stop
  • Install Thingsboard Web Report component as described here.
1
sudo rpm -Uvh thingsboard-3.3.1pe.rpm

NOTE: Package installer may ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten. Please make sure that you set database.ts.type parameter value (in the file /etc/thingsboard/conf/thingsboard.yml) to “cassandra” instead of “sql” if you are using Cassandra database for timeseries data:

1
2
3
4
database:
  ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
  ts:
    type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)

Execute regular upgrade script:

1
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.3.0

Start the service

文档信息图标

若将 Redis 用于缓存,在启动 ThingsBoard 前需清空所有已存储的 key。

连接到您的 Redis 实例(或 container/pod,视部署方式而定),执行:

redis-cli flushall

注意:仅当 Redis 专门用于 ThingsBoard 时可使用此命令。若其他应用也使用 Redis,需定位 ThingsBoard 使用的数据库并仅清空该库。默认数据库 index 为 0,可通过 ThingsBoard 环境变量 REDIS_DB 配置。

redis-cli

select 0

flushdb

1
sudo service thingsboard start

Upgrading ThingsBoard PE to 3.3

NOTE: These upgrade steps are applicable for ThingsBoard version 3.2.2PE. In order to upgrade to 3.3PE you need to upgrade to 3.2.2PE first. Prepare for upgrading ThingsBoard.

ThingsBoard PE package download

1
wget https://dist.thingsboard.io/thingsboard-3.3pe.rpm

ThingsBoard PE service upgrade

  • Stop ThingsBoard service if it is running.
1
sudo service thingsboard stop
  • Install Thingsboard Web Report component as described here.
1
sudo rpm -Uvh thingsboard-3.3pe.rpm

NOTE: Package installer will ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten. Please make sure that you set database.ts.type parameter value (in the file /etc/thingsboard/conf/thingsboard.yml) to “cassandra” instead of “sql” if you are using Cassandra database for timeseries data:

1
2
3
4
database:
  ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
  ts:
    type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)

NOTE: If you were using MQTT over SSL instead of default MQTT, please make sure you have a proper configuration (thingsboard.conf and/or thingsboard.yml) of ports/addresses:

/etc/thingsboard/conf/thingsboard.conf

1
2
3
4
5
6
export MQTT_SSL_ENABLED=true
export MQTT_SSL_BIND_ADDRESS=0.0.0.0
export MQTT_SSL_BIND_PORT=8883

export MQTT_BIND_ADDRESS=0.0.0.0
export MQTT_BIND_PORT=1883

/etc/thingsboard/conf/thingsboard.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
transport:

. . .

  # Local MQTT transport parameters
  mqtt:
    # Enable/disable mqtt transport protocol.
    enabled: "${MQTT_ENABLED:true}"
    bind_address: "${MQTT_BIND_ADDRESS:0.0.0.0}"
    bind_port: "${MQTT_BIND_PORT:1883}"

. . .

    ssl:
      # Enable/disable SSL support
      enabled: "${MQTT_SSL_ENABLED:true}"
      # MQTT SSL bind address
      bind_address: "${MQTT_SSL_BIND_ADDRESS:0.0.0.0}"
      # MQTT SSL bind port
      bind_port: "${MQTT_SSL_BIND_PORT:8883}"

Execute regular upgrade script:

1
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.2.2

Start the service

文档信息图标

若将 Redis 用于缓存,在启动 ThingsBoard 前需清空所有已存储的 key。

连接到您的 Redis 实例(或 container/pod,视部署方式而定),执行:

redis-cli flushall

注意:仅当 Redis 专门用于 ThingsBoard 时可使用此命令。若其他应用也使用 Redis,需定位 ThingsBoard 使用的数据库并仅清空该库。默认数据库 index 为 0,可通过 ThingsBoard 环境变量 REDIS_DB 配置。

redis-cli

select 0

flushdb

1
sudo service thingsboard start