本文将介绍云端安装及配置thingsboard的全过程,推荐在Linux系统中安装,其他操作系统或者k8s容器平台等,可适当转化
一、环境准备
1、服务器基础配置
# 关闭防火墙
$systemctl stop firewalld
$systemctl disable firewalld
# 关闭selinux
$sed -i 's/enforcing/disabled/' /etc/selinux/config
$setenforce 0
# 关闭swap
$swapoff -a
$sed -ri 's/.*swap.*/#&/' /etc/fstab
# 根据规划设置主机名(<hostname>处填写自己想规定的名字)
$hostnamectl set-hostname <hostname>
# 应用服务器命名:iotser
# 数据库服务器命名:iotdb
# 备份服务器命名:iotbackup
# 三台服务器均添加hosts
$cat >> /etc/hosts << EOF
10.89.25.65 iotser
10.89.25.66 iotdb
10.89.25.67 iotbackup
EOF
# 将桥接的IPv4流量传递到iptables的链
$cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
$sysctl --system
# 时间同步
$yum install ntpdate -y
$ntpdate time.windows.com
配置局域网内时间同步
1、以下操作在root用户下执行
sudo su
2、检查是否安装ntpdate时间同步客户端,查看完整路径
whereis ntpdate
如路径为:/usr/sbin/ntpdate
如没有安装使用 apt install -y ntpdate 进行安装
3、手动同步时间
10.89.25.2为内部时间服务器
/usr/sbin/ntpdate 10.89.25.2
4、定时同步时间<每小时第1分钟开始同步,并记录日志>
crontab -e
1 * * * * /usr/sbin/ntpdate 10.89.25.2 >> /var/log/date.log
5、查看执行日志
cat /var/log/date.log
2、工具准备
本例为了方便安装部署,使用docker容器及docker-compose工具进行软件部署安装,安装过程需要能够访问互联网。
2.1 docker安装
推荐使用安装脚本一键安装,视网络情况,过程时间较长,请耐心等待
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable docker && systemctl start docker
查看版本:docker -v
查看容器保存位置:docker info
修改容器保存位置
mkdir -p /home/data/docker
vim /etc/docker/daemon.json
{
"data-root": "/home/data/docker"
}
sudo systemctl daemon-reload
sudo systemctl restart docker
2.2 docker-compose安装
逐行运行以下命令安装
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
查看版本:docker-compose -v
二、安装部署
软件应用拓扑如下:
1、数据库安装
以下操作在iotdb服务器root用户下进行
创建文件夹
mkdir -p /home/data/postgres
执行docker容器完成安装部署
docker run -d -v /home/data/postgres:/var/lib/postgresql/data -e POSTGRES_USER=thingsboard -e POSTGRES_PASSWORD=thingsboard -e POSTGRES_DB=tb_cloud -p 5432:5432 --restart=always --name postgres postgres:12
2、消息队列安装
以下操作在iotdb服务器root用户下进行
创建文件夹
mkdir -p /home/data/rabbitmq
执行docker容器完成安装部署
docker run -d -v /home/data/rabbitmq:/var/lib/rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 5672:5672 -p 15672:15672 --restart=always --name rabbitmq rabbitmq:3.10-management
3、安装thingsboard云端
以下操作在iotser服务器root用户下进行
创建文件夹
mkdir -p /home/data/thingsboard/data && sudo chown -R 799:799 /home/data/thingsboard/data
mkdir -p /home/data/thingsboard/logs && sudo chown -R 799:799 /home/data/thingsboard/logs
执行docker容器完成安装部署
docker run -d -v /home/data/thingsboard/data:/data -v /home/data/thingsboard/logs:/var/log/thingsboard -e SPRING_DATASOURCE_URL=jdbc:postgresql://10.89.25.66:5432/tb_cloud -e SPRING_DATASOURCE_USERNAME=thingsboard -e SPRING_DATASOURCE_PASSWORD=thingsboard -e TB_QUEUE_TYPE=rabbitmq -e TB_QUEUE_RABBIT_MQ_USERNAME=admin -e TB_QUEUE_RABBIT_MQ_PASSWORD=admin -e TB_QUEUE_RABBIT_MQ_HOST=10.89.25.66 -e TB_QUEUE_RABBIT_MQ_PORT=5672 -p 9090:9090 -p 1883:1883 -p 7070:7070 -p 5683-5688:5683-5688/udp --restart=always --name thingsboard thingsboard/tb-postgres:3.4.0
4、安装时序数据库influxdb
以下操作在iotdb服务器root用户下进行
创建文件夹
mkdir -p /home/data/influxdb
执行docker容器完成安装部署
docker run -d -v /home/data/influxdb:/var/lib/influxdb -p 8086:8086 --restart=always --name influxdb influxdb:1.8-alpine
5、安装可视化工具grafana
以下操作在iotser服务器root用户下进行
创建文件夹
mkdir -p /home/data/grafana
执行docker容器完成安装部署
mkdir -p /home/data/grafana && sudo chown -R 799:799 /home/data/grafana
docker run -d --user root -v /home/data/grafana:/var/lib/grafana -e GF_SMTP_ENABLED=true -e GF_SECURITY_ALLOW_EMBEDDING=true -p 3000:3000 --restart=always --name grafana grafana/grafana:8.2.5
三、使用教程
1、 服务启停
正常情况所有服务开机自动启动
异常情况使用以下操作说明操作
1.1 停止服务
# 先在应用服务器停止应用
docker stop thingsboard
# 再在数据库服务器停止数据库和消息队列
docker stop rabbitmq
docker stop postgres
2、 访问UI管理页面
thingsboard管理页面:http://10.89.25.65:9090/
rabbitmq管理页面:http://10.89.25.66:15672/
数据库连接端口:10.89.25.66 5432
云端与边缘端连接端口:10.89.25.65 7070
thingsboard默认用户名密码:
系统管理员: sysadmin@thingsboard.org / sysadmin
租户管理员: tenant@thingsboard.org / tenant
普通用户: customer@thingsboard.org / customer
3、 云端配置边缘实例
3.1 新增客户/租户
定义租户区分分子公司单位,每个租户有独立的用户账号、边缘、设备内容
3.2 新增边缘实例
定义边缘实例,对应IOT网关盒子
分配到客户下
获得边缘实例的边缘键和密钥,方便下一步边缘端加入云端,实现云边协同。
四、odoo平台安装
1、数据库安装
以下操作在iotdb服务器root用户下进行
创建文件夹
mkdir -p /home/data/postgres-odoo
执行docker容器完成安装部署
docker run -d -v /home/data/postgres-odoo:/var/lib/postgresql/data -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres -p 5433:5432 --restart=always --name postgres-odoo postgres:12
2、应用安装
以下操作在iotser服务器root用户下进行
创建文件夹
mkdir -p /home/data/odoo/config
mkdir -p /home/data/odoo/myaddons
修改配置文件
cd /home/data/odoo/config
vim odoo.conf
输入
[options]
xmlrpc_port = 8069
db_host = 10.89.25.66
db_port = 5433
db_password = odoo
db_user = odoo
addons_path = /usr/lib/python3/dist-packages/odoo/addons, /var/lib/odoo/.local/share/Odoo/addons/14.0, /mnt/extra-addons
执行docker容器完成安装部署
docker run -v /home/data/odoo/config:/etc/odoo -v /home/data/odoo/myaddons:/mnt/extra-addons -p 8069:8069 --name odoo -t odoo:14
登录http://ip:8069,进行系统初始化
评论区