首页 Iot Thingsboard部署
文章
取消

Iot Thingsboard部署

步骤1 安装java11

官网文档是3.1.1的,去github上下安装包是3.4.1的,3.1.1的基于java8 而最新版的是基于java11的

1
2
sudo apt update
sudo apt install openjdk-11-jdk

ubuntu apt换源后更新遇到 无法解析的错误 Could not resolve 'mirrors.aliyun.com'

解决方案:

1
2
3
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114

如果安装了多个java 可以配置默认版本

1
sudo update-alternatives --config java

步骤2 安装服务

可以选择 wget去github上获取,也可以手动下载完(wget慢的话),远程传上去

windows上 scp命令在C:\Windows\System32\OpenSSH>下

scp命令格式 scp 文件地址 [/* 目录下所有文件] linux系统登录名@linux IP 地址:Linux路径

发现 会报connection refused

解决方案:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
配置sshd服务
1、打开文件
vi /etc/hosts.allow
2、添加
sshd:ip1
sshd:ip2
3、重启sshd服务
service sshd restart
4、查看服务启动状态
service ss
hd status
// 没有sshd服务 需要先安装服务
$ sudo apt update
$ sudo apt install openssh-server
$ sudo systemctl start sshd
// 如果路径+permission denied 多半是权限不够 比如/opt目录 可以
$ sudo chmod 777 /opt

步骤3 安装PostgreSQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# install **wget** if not already installed:
sudo apt install -y wget

# import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# add repository contents to your system:
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

# install and launch the postgresql service:
sudo apt update
sudo apt -y install postgresql-12
sudo service postgresql start

wget参数 –quiet(-q) 不输出; -O 使用其他名称来保存文件;

apt-key命令用来管理Debian软件包密钥,add将下载的key添加到本地trust数据库中;

tee 命令 将标准输入保存到指定文件中

一旦安装了PostgreSQL您可能想要创建一个新用户或为主要用户设置密码。

以下说明帮助你设置PostgreSQL用户密码

1
2
3
4
sudo su - postgres
psql
\password
\q

su 命令 switch user的缩写,-表示login使shell为登录shell;

psql 命令 进入 postgresql的命令行模式

\password 输出密码 \q 退出

然后,按“Ctrl+D”返回主用户控制台并连接到数据库以创建Thingsboard DB:

1
2
3
psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q

-U user -d 数据库 -W 密码提示

编辑ThingsBoard配置文件

1
sudo nano /etc/thingsboard/conf/thingsboard.conf

nano 也是文本编辑器 也可以用其他的

将“PUT_YOUR_POSTGRESQL_PASSWORD_HERE”替换postgres用户真实密码

1
2
3
4
5
6
7
8
9
10
11
# 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=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
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

步骤4 选择消息队列服务

选择下面消息中间件代理服务之前的通信。

  • 内存 默认队列适用于开发环境很有用请勿用于生产环境。

  • Kafka 对于本地和私有云部署可以独立于云服务供应商生产环境中使用。

  • RabbitMQ 如果没有太多负载并且已经具备一定的使用经验建议使用此方式。

  • AWS SQS 如是你打算在AWS上使用ThingsBoard则可以使用此消息队列。

  • Google发布/订阅 如果你打算在Google Cloud上部署ThingsBoard则可以使用此消息队列。

  • Azure服务总线 如果你打算在Azure上部署ThingsBoard则可以使用此消息队列。

  • Confluent云 基于Kafka的完全托管的事件流平台。

开发阶段可以先用 内存,后续再布置其他的消息队列服务

步骤5 低性能模式[可选]

步骤6 运行安装脚本

安装完服务 配置完数据库

1
2
# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo

步骤7 启动服务

sudo service thingsboard start 通过 localhost:8080访问webui

如果在安装脚本的执行过程中指定了-loadDemo则可以使用以下默认凭据:

系统管理员: sysadmin@thingsboard.org / sysadmin 租户管理员: tenant@thingsboard.org / tenant 客户: customer@thingsboard.org / customer

步骤8 配置HTTPS [可选]

配置HAProxy以启用HTTPS

您可能要使用HAProxy配置HTTPS访问。

如果您在云端托管ThingsBoard并为您的实例分配了有效的DNS名称,则可以这样做。

请按照此指南安装HAProxy并使用有效的SSL证书。

故障排除

ThingsBoard日志存储在以下目录中:

1
/var/log/thingsboard

执行如下命令检查后面是否有错误:

1
cat /var/log/thingsboard/thingsboard.log | grep ERROR

参考文档

[基于Ubuntu服务器安装ThingsBoard ThingsBoard中文网](http://www.ithingsboard.com/docs/user-guide/install/ubuntu/)
本文由作者按照 CC BY 4.0 进行授权

Django 简单入门

Iot Mqtt入门