TB Upgrade

Current State

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • GCP thingsboard-pe-1-vm up running
star@thingsboard-pe-1-vm:~$ dpkg -s thingsboard | grep -i version
Version: 3.2.2PE-1

Upgrade Steps

Stop ThingsBoard

star@thingsboard-pe-1-vm:~$ sudo systemctl stop thingsboard
star@thingsboard-pe-1-vm:~$ sudo systemctl status thingsboard
● thingsboard.service - thingsboard
   Loaded: loaded (/lib/systemd/system/thingsboard.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Thu 2021-08-26 01:19:09 UTC; 5s ago
  Process: 3721 ExecStart=/usr/share/thingsboard/bin/thingsboard.jar (code=killed, signal=TERM)
 Main PID: 3721 (code=killed, signal=TERM)

Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]:     "description" : "Devices amount limitation"
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]:   },
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]:   "whitelabeling" : {
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]:     "value" : true,
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]:     "description" : "White-labeling feature"
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]:   }
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: }
Aug 26 01:19:08 thingsboard-pe-1-vm systemd[1]: Stopping thingsboard...
Aug 26 01:19:09 thingsboard-pe-1-vm thingsboard.jar[3721]: Stopping ThingsBoard License Client...
Aug 26 01:19:09 thingsboard-pe-1-vm systemd[1]: Stopped thingsboard.

Backup Database

  • Check PostgreSQL status! It is unnecessary to stop PostgreSQL for the backup.
star@thingsboard-pe-1-vm:~$ sudo systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Tue 2021-08-24 07:50:59 UTC; 1 day 17h ago
 Main PID: 1354 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/postgresql.service

Aug 24 07:50:59 thingsboard-pe-1-vm systemd[1]: Starting PostgreSQL RDBMS...
Aug 24 07:50:59 thingsboard-pe-1-vm systemd[1]: Started PostgreSQL RDBMS.
  • To ensure enough disk space to place a backup of the database
star@thingsboard-pe-1-vm:~$ sudo -u postgres psql -c "SELECT pg_size_pretty( pg_database_size('thingsboard') );"
 pg_size_pretty 
----------------
 12 MB
(1 row)

star@thingsboard-pe-1-vm:~$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        39G  6.6G   33G  18% /
  • If there is enough free space - make a backup
star@thingsboard-pe-1-vm:~$ sudo -Hiu postgres pg_dump thingsboard > thingsboard.sql.bak
star@thingsboard-pe-1-vm:~$ ls -lh
total 2.6M
-rw-rw-r-- 1 star star 2.6M Aug 26 01:25 thingsboard.sql.bak

Upgrading to 3.3PE from 3.2.2

  • ThingsBoard WebReport and PE packages download
wget https://dist.thingsboard.io/thingsboard-3.3pe.deb

wget https://dist.thingsboard.io/tb-web-report-3.3pe.deb
  • ThingsBoard PE and WebReport services upgrade
//Stop ThingsBoard and WebReport services
sudo service thingsboard stop

sudo service tb-web-report stop

//Install ThingsBoard WebReport package
star@thingsboard-pe-1-vm:~$ sudo dpkg -i tb-web-report-3.3pe.deb
(Reading database ... 263436 files and directories currently installed.)
Preparing to unpack tb-web-report-3.3pe.deb ...
Unpacking tb-web-report (3.3.0PE-1) over (3.2.2PE-1) ...
Setting up tb-web-report (3.3.0PE-1) ...

sudo systemctl daemon-reload
sudo service tb-web-report start
sudo service tb-web-report status

//Install ThingsBoard Package
sudo dpkg -i thingsboard-3.3pe.deb
(Reading database ... 263436 files and directories currently installed.)
Preparing to unpack thingsboard-3.3pe.deb ...
Unpacking thingsboard (3.3.0PE-1) over (3.2.2PE-1) ...
Setting up thingsboard (3.3.0PE-1) ...
Installing new version of config file /usr/share/thingsboard/conf/thingsboard.yml ...

//Execute regular upgrade scrip
star@thingsboard-pe-1-vm:~$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.2.2
  ______    __      _                              ____                               __
 /_  __/   / /_    (_)   ____    ____ _   _____   / __ )  ____   ____ _   _____  ____/ /
  / /     / __ \  / /   / __ \  / __ `/  / ___/  / __  | / __ \ / __ `/  / ___/ / __  /
 / /     / / / / / /   / / / / / /_/ /  (__  )  / /_/ / / /_/ // /_/ /  / /    / /_/ /
/_/     /_/ /_/ /_/   /_/ /_/  \__, /  /____/  /_____/  \____/ \__,_/  /_/     \__,_/
                              /____/

 ===================================================
 :: ThingsBoard Professional Edition ::       (v3.3.0PE)
 ===================================================

Warning: Nashorn engine is planned to be removed from a future JDK release
Starting ThingsBoard Upgrade from version 3.2.2 ...
Upgrading ThingsBoard from version 3.2.2 to 3.3.0 ...
Load Drop Partitions functions ...
Functions successfully loaded!
Updating schema ...
Load Edge TTL functions ...
Edge TTL functions successfully loaded!
Updating indexes and TTL procedure for event table...
Updating schema settings...
Schema updated.
Updating data from version 3.2.2 to 3.3.0 ...
Tenants default edge rule chain updater: 1 total entities updated.
Tenants alarms customer updater: 1 total entities updated.
Upgrading ThingsBoard from version 3.3.0 to 3.3.0PE ...
Updating schema ...
Schema updated.
Updating data from version 3.3.0 to 3.3.0PE ...
Updating system data...
Upgrade finished successfully!
ThingsBoard upgraded successfully!
star@thingsboard-pe-1-vm:~$ 

//Start the service
sudo systemctl daemon-reload
sudo service thingsboard start
sudo service thingsboard status

Upgrading to 3.3.1PE from 3.3.0

wget https://dist.thingsboard.io/thingsboard-3.3.1pe.deb
wget https://dist.thingsboard.io/tb-web-report-3.3.1pe.deb

sudo service thingsboard stop
sudo service tb-web-report stop

sudo dpkg -i tb-web-report-3.3pe.deb
sudo systemctl daemon-reload
sudo service tb-web-report start
sudo service tb-web-report status

sudo dpkg -i thingsboard-3.3pe.deb
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.3.0
  ______    __      _                              ____                               __
 /_  __/   / /_    (_)   ____    ____ _   _____   / __ )  ____   ____ _   _____  ____/ /
  / /     / __ \  / /   / __ \  / __ `/  / ___/  / __  | / __ \ / __ `/  / ___/ / __  /
 / /     / / / / / /   / / / / / /_/ /  (__  )  / /_/ / / /_/ // /_/ /  / /    / /_/ /
/_/     /_/ /_/ /_/   /_/ /_/  \__, /  /____/  /_____/  \____/ \__,_/  /_/     \__,_/
                              /____/

 ===================================================
 :: ThingsBoard Professional Edition ::       (v3.3.1PE)
 ===================================================

Warning: Nashorn engine is planned to be removed from a future JDK release
Starting ThingsBoard Upgrade from version 3.3.0 ...
Upgrading ThingsBoard from version 3.3.0 to 3.3.1 ...
Upgrading ThingsBoard from version 3.3.1 to 3.3.1PE ...
Updating schema ...
Schema updated.
Updating data from version 3.3.1 to 3.3.1PE ...
Updating system data...
Upgrade finished successfully!
ThingsBoard upgraded successfully!

sudo systemctl daemon-reload
sudo service thingsboard start

Reference