Stand with Ukraine flag
Pricing Try it now
Professional Edition
Getting Started Documentation Devices Library Guides
Architecture API FAQ
On this page

ThingsBoard PE v3.7.x upgrade instructions for CentOS

Prepare for upgrading ThingsBoard

Stop ThingsBoard Check if ThingsBoard and database services are running Initially ThingsBoard, check status to ensure it is stopped and then databases.

1
sudo systemctl stop thingsboard
1
sudo systemctl status thingsboard

Backup Database

Make a backup of the database before upgrading.

PostgreSQL

Check PostgreSQL status. It is unnecessary to stop PostgreSQL for the backup.

1
sudo systemctl status postgresql

Make sure you have enough space to place a backup of the database Check database size

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

Check free space

1
df -h /

If there is enough free space - make a backup.

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

Check backup file being created.

Cassandra

Check Cassandra status. It is necessary to stop Cassandra for the backup.

1
sudo systemctl status cassandra

Flush all memtables from the node to SSTables on disk.

1
nodetool drain

Stop Cassandra.

1
sudo systemctl stop cassandra

And you have to check the status again to ensure they are surely stopped.

1
sudo systemctl status cassandra

Make sure you have enough space to place a backup of the database Check database size.

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

Check free space.

1
df -h /

Make a backup of Cassandra database.

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

Check archive being created

Start Database

Cassandra

1
sudo systemctl start cassandra

PostgreSQL Do nothing, postgresql is already running.

Upgrading ThingsBoard PE to 3.7.0

Doc info icon

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

doc warn icon

Important note before upgrading to ThingsBoard 3.7

ThingsBoard backend was migrated to Java 17. Install JDK 17 and ensure that system’s default Java version is set to 17.

Please refer to Step 1 of the corresponding installation guide for detailed instructions:

Ubuntu

CentOS/RHEL

ThingsBoard PE package download

1
wget https://dist.thingsboard.io/thingsboard-3.7pe.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.7pe.rpm
Doc info icon

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

Start the service

Doc info icon

In case Cassandra is installed, ensure that a proper JAVA_HOME parameter is set for cassandra.in.sh include file. As of 3.7.0 release, latest stable Cassandra version does not support Java 17 yet.

In case action is required, you can refer to “you will need to install Java…” section of Cassandra installation guide.

1
sudo service thingsboard start