- Prepare for upgrading ThingsBoard
- Upgrading ThingsBoard PE to 3.0.1
- Upgrading ThingsBoard PE to 3.0
- Next steps
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.0.1
NOTE: These upgrade steps are applicable for ThingsBoard version 3.0PE. In order to upgrade to 3.0.1PE you need to upgrade to 3.0PE first. Prepare for upgrading ThingsBoard.
ThingsBoard PE package download
1
wget https://dist.thingsboard.io/thingsboard-3.0.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.0.1pe.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.0PE-cassandra
Otherwise execute regular upgrade script:
1
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.0
Start the service
1
sudo service thingsboard start
Upgrading ThingsBoard PE to 3.0
Prepare for upgrading ThingsBoard.
ThingsBoard PE package download
1
wget https://dist.thingsboard.io/thingsboard-3.0pe.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.0pe.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.0PE-cassandra
Otherwise execute regular upgrade script:
1
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.0
Start the service
1
sudo service thingsboard start
Next steps
-
Getting started guides - These guides provide quick overview of main ThingsBoard features. Designed to be completed in 15-30 minutes.
-
Connect your device - Learn how to connect devices based on your connectivity technology or solution.
-
Data visualization - These guides contain instructions on how to configure complex ThingsBoard dashboards.
-
Data processing & actions - Learn how to use ThingsBoard Rule Engine.
-
IoT Data analytics - Learn how to use rule engine to perform basic analytics tasks.
-
Advanced features - Learn about advanced ThingsBoard features.
-
Contribution and Development - Learn about contribution and development in ThingsBoard.