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

ThingsBoard CE v3.0.x CentOS升级说明

Upgrading ThingsBoard CE to 3.0.1

NOTE: These upgrade steps are applicable for ThingsBoard version 3.0. In order to upgrade to 3.0.1 you need to upgrade to 3.0 first.


文档信息图标

升级至 ThingsBoard 3.0 前的重要提示

  • ThingsBoard UI 已从 AngularJS 1.5.8 重写为 Angular 9。
    • 这意味着什么?
      • 概括而言,意味着:现代化应用、更易开发前端元素、性能提升以及 UI 定制更灵活。
    • 如何升级?
      • 若您不在仪表盘中使用自定义部件或自定义操作,可安全升级。
      • 新的 JS 框架可能不完全支持您当前的代码(自定义部件和自定义操作),需稍作重构。因此建议您使用我们的云环境或开发实例测试您的定制内容。
  • 从纯 Cassandra 迁移至混合数据库方案
    • 我们仍支持 Cassandra 存储遥测数据,但不再用于存储设备、客户、租户等实体。
    • 这意味着什么?
      • 这将简化维护和未来改进,并将在 v3.1 中支持高级搜索能力。
    • 如何升级?
      • 若您使用纯 PostgreSQL 或 PostgreSQL(实体)+ Cassandra(遥测),则不受影响。
      • 若您使用纯 Cassandra,升级过程将自动执行但需一定时间。停机时间取决于设备、属性、告警和关系的数量。 若上述实体少于 1000 万,升级通常仅需数分钟,具体取决于数据库性能。


文档信息图标

Since ThingsBoard 3.0 only PostgreSQL database is supported for entities data

ThingsBoard package download

1
wget https://github.com/thingsboard/thingsboard/releases/download/v3.0.1/thingsboard-3.0.1.rpm

ThingsBoard service upgrade

  • Stop ThingsBoard service if it is running.
1
$ sudo service thingsboard stop
1
sudo rpm -Uvh thingsboard-3.0.1.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 Cassandra database for entities data execute the following migration script:

1
2
# Execute migration script from Cassandra to PostgreSQL
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.0-cassandra

Otherwise execute regular upgrade script:

1
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.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 CE to 3.0

文档信息图标

升级至 ThingsBoard 3.0 前的重要提示

  • ThingsBoard UI 已从 AngularJS 1.5.8 重写为 Angular 9。
    • 这意味着什么?
      • 概括而言,意味着:现代化应用、更易开发前端元素、性能提升以及 UI 定制更灵活。
    • 如何升级?
      • 若您不在仪表盘中使用自定义部件或自定义操作,可安全升级。
      • 新的 JS 框架可能不完全支持您当前的代码(自定义部件和自定义操作),需稍作重构。因此建议您使用我们的云环境或开发实例测试您的定制内容。
  • 从纯 Cassandra 迁移至混合数据库方案
    • 我们仍支持 Cassandra 存储遥测数据,但不再用于存储设备、客户、租户等实体。
    • 这意味着什么?
      • 这将简化维护和未来改进,并将在 v3.1 中支持高级搜索能力。
    • 如何升级?
      • 若您使用纯 PostgreSQL 或 PostgreSQL(实体)+ Cassandra(遥测),则不受影响。
      • 若您使用纯 Cassandra,升级过程将自动执行但需一定时间。停机时间取决于设备、属性、告警和关系的数量。 若上述实体少于 1000 万,升级通常仅需数分钟,具体取决于数据库性能。


文档信息图标

Since ThingsBoard 3.0 only PostgreSQL database is supported for entities data

ThingsBoard package download

1
wget https://github.com/thingsboard/thingsboard/releases/download/v3.0/thingsboard-3.0.rpm

ThingsBoard service upgrade

  • Stop ThingsBoard service if it is running.
1
$ sudo service thingsboard stop
1
sudo rpm -Uvh thingsboard-3.0.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 Cassandra database for entities data execute the following migration script:

1
2
# Execute migration script from Cassandra to PostgreSQL
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.0-cassandra

Otherwise execute regular upgrade script:

1
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.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

下一步