ThingsBoard安装

一、参考链接

按照官网步骤一步一步安装即可
https://thingsboard.io/docs/user-guide/install/ubuntu/?ubuntuThingsboardQueue=inmemory&ubuntuThingsboardDatabase=postgresql

二、详细步骤

  1. JAVA11环境
sudo apt update
sudo apt install openjdk-11-jdk
  1. 选择JAVA环境
sudo update-alternatives --config java
选择JAVA11即可
  1. List item
    获取安装包
wget https://github.com/thingsboard/thingsboard/releases/download/v3.2.2/thingsboard-3.2.2.deb
  1. 安装
sudo dpkg -i thingsboard-3.2.2.deb
  1. 安装,运行数据库
sudo apt install -y wget
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
RELEASE=$(lsb_release -cs)
echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee  /etc/apt/sources.list.d/pgdg.list
sudo apt update
sudo apt -y install postgresql-12
sudo service postgresql start
  1. 增加用户名和密码
sudo su - postgres
psql
\password  
----这里输回去postgres吧
\q
----之后一定要按 crtl+D退出,回到主用户
  1. 新建数据库
psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q
  1. 增加配置,注意修改成自己数据库的密码
sudo nano /etc/thingsboard/conf/thingsboard.conf
-----增加下面这些东东
# DB Configuration 
export DATABASE_ENTITIES_TYPE=sql
export DATABASE_TS_TYPE=sql
export SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect
export SPRING_DRIVER_CLASS_NAME=org.postgresql.Driver
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=postgres
export SPRING_DATASOURCE_MAXIMUM_POOL_SIZE=5
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"
  1. 安装服务
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo

如果数据库,JAVA环境正常,会显示success

  1. 启动服务我这里遇到坑,注意8080端口,1883端口开放,且没被占用!
    我这里部署了mosquitto占用了1883服务,导致失败了(可以通过查看log来看具体原因)
    cat /var/log/thingsboard/thingsboard.log | grep ERROR
sudo service thingsboard start
  1. 看看服务是不是真的成功了,看到1883和8080使用了,OK
ubuntu@VM-0-4-ubuntu:/var/log$ sudo netstat -nultp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      877/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1207/sshd
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      4329/postgres
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      4853/sshd: ubuntu@p
tcp6       0      0 :::1883                 :::*                    LISTEN      7356/java
tcp6       0      0 :::80                   :::*                    LISTEN      7979/apache2
tcp6       0      0 :::8080                 :::*                    LISTEN      7356/java
udp        0      0 127.0.0.53:53           0.0.0.0:*                           877/systemd-resolve
udp        0      0 172.16.0.4:68           0.0.0.0:*                           854/systemd-network
udp        0      0 172.16.0.4:123          0.0.0.0:*                           1173/ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                           1173/ntpd
udp6       0      0 :::5683                 :::*                                7356/java
udp6       0      0 fe80::5054:ff:fe22::123 :::*                                1173/ntpd
udp6       0      0 ::1:123                 :::*                                1173/ntpd
  1. 默认的账户密码(要设备连上去,我们通常用租户管理员帐户)
    然后通过http://localhost:8080/就可登陆后台了。
    后台的系统管理员默认账号
    用户名:sysadmin@thingsboard.org
    密码:sysadmin
    默认租户管理员帐户:
    用户名:tenant@thingsboard.org
    密码:tenant
    演示租户客户:
    客户A用户:customer@thingsboard.org或customerA@thingsboard.org。
    客户B用户:customerB@thingsboard.org。
    客户C用户:customerC@thingsboard.org。
    所有用户的密码都是“customer”
上一篇:thingsboard学习笔记


下一篇:thingsboard源码结构解析