目 录CONTENT

文章目录

开源工业物联网系列教程-2.云端设置

胡彬
2022-07-28 / 0 评论 / 0 点赞 / 902 阅读 / 1,665 字

本文将介绍云端安装及配置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,进行系统初始化

0

评论区