从零实战本地服务器安装 Docker 部署 ThingsBoard PE 专业版(适用于 Postgres + Kafka 企业级生产环境)
随着物联网(IoT)技术的日益普及,企业对物联网数据管理和可视化的需求也在不断增加。ThingsBoard是一个功能强大的开源物联网平台,它提供了丰富的数据可视化、设备管理和数据分析功能。本文将详细介绍如何在本地服务器上使用Docker部署ThingsBoard PE(专业版),同时结合Cassandra、Kafka和Postgres等组件,分别用于数据存储、消息队列和关系型数据库,共同构成了Th
目录
2、本地服务器Linux Centos7.9系统安装docker
3.3、为 ThingsBoard 队列服务创建 docker compose 文件
1、准备工作
- 服务器1台:戴尔R630。
- 确保网络畅通。
- 下载Centos镜像文件。
- 使用 Rufus 烧录软件,制作服务器启动U盘。
- 安装CentOS_7.9版本 Linux系统。
- 上述工作尚未准备好的,请参照下面文章:
一、戴尔R630本地服务器搭建Linux系统软件硬件环境配置-CSDN博客文章浏览阅读1k次,点赞32次,收藏19次。向移动、电信、联通申请带有固定IP地址的专线,不同运营商的宽带速率、稳定性和价格差距较大,可根据应用场景和需要选择。光猫开启桥接和开启IPV6,直连服务器,采用PPPoE进行服务器拨号上网。服务器需要2台以上,1台作为主节点,另1台作为⼯作节点。我们从零实战K8S部署ThingsBoard专业版集群,主要用于生产环境,基于长期生产成本的考虑,采用的是方案三。路由器1台,采用中兴WI-FI 6千兆双频路由器,1个WAN口、3个LAN口,搭建一个局域网。部署时,使用2台服务器,1台作为主节点。https://blog.csdn.net/weixin_67440240/article/details/136683361二、戴尔R630本地服务器安装Linux Centos7.9系统_戴尔 poweredge r630找不到linux安装的系统-CSDN博客文章浏览阅读628次,点赞10次,收藏10次。服务器需要2台以上,1台作为主节点,另1台作为⼯作节点。设置U盘启动后,会进入如下页面,选择第一个安装,按回车键开始安装系统,自动跳转到安装界面。启动服务器,会出现如图界面,然后按ctrl+R键,这个界面很快会闪过,尽量提前按。按F11进入Boot Manager,选择BIOS,进入U盘启动,选择USB并回车启动。_戴尔 poweredge r630找不到linux安装的系统https://blog.csdn.net/weixin_67440240/article/details/136655213
2、本地服务器Linux Centos7.9系统安装docker
2.1、检查Linux的内核版本
uname -a
2.2、卸载Docker旧版本(若有需要)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.3、安装Docker
# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
# 查看防火墙状态
systemctl status firewalld
# 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 安装 wget 和 yum-utils
yum install -y wget yum-utils
# 安装阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 查询可安装的Docker版本
yum list | grep docker
# 安装Docker Ce社区版本
yum install -y docker-ce.x86_64
2.4、安装Docker引擎
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.5、 启动docker和设置开机⾃启动
# 开机自启动并启动docker服务
systemctl enable docker && systemctl start docker
# 更新xfsprogs
yum -y update xfsprogs
# 重启系统
reboot
#检查是否开启自启动
systemctl status docker
# 查看docker版本和详细信息
docker version
docker -v
docker info
2.6、配置阿里云镜像加速器
- 通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://caiqlzrwbvlqq.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
本文阿里云镜像加速器地址:https://caiqlzrwbvlqq.mirror.aliyuncs.com(仅为参考),具体地址请登录阿里云帐号自行获取!具体参照下文:
3、使用 Docker 安装 ThingsBoard PE
3.1、 拉取 ThingsBoard PE 镜像
docker pull thingsboard/tb-pe:3.6.3PE
3.2、获取许可证密钥
- 需在官网购买获取,请参阅如何获取即用即付订阅或如何获取永久许可证。
- 注意:此步骤中获得的许可证密钥引用为 PUT_YOUR_LICENSE_SECRET_HERE。
- 可以暂时不购买获取许可证密钥,跳过本步骤,执行下一步。
3.3、为 ThingsBoard 队列服务创建 docker compose 文件
vi docker-compose.yml
- 将以下行添加到 docker-compose.yml 文件中。
- 不要忘记将“PUT_YOUR_LICENSE_SECRET_HERE”替换为上一步获得的许可证密钥:
version: '3.0'
services:
zookeeper:
restart: always
image: "zookeeper:3.5"
ports:
- "2181:2181"
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zookeeper:2888:3888;zookeeper:2181
kafka:
restart: always
image: wurstmeister/kafka
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: INSIDE://:9093,OUTSIDE://:9092
KAFKA_ADVERTISED_LISTENERS: INSIDE://:9093,OUTSIDE://kafka:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
volumes:
- /var/run/docker.sock:/var/run/docker.sock
mytbpe:
restart: always
image: "thingsboard/tb-pe:3.6.3PE"
depends_on:
- kafka
ports:
- "8080:8080"
- "1883:1883"
- "7070:7070"
- "5683-5688:5683-5688/udp"
environment:
TB_QUEUE_TYPE: kafka
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/thingsboard
TB_KAFKA_SERVERS: kafka:9092
TB_LICENSE_SECRET: PUT_YOUR_LICENSE_SECRET_HERE
TB_LICENSE_INSTANCE_DATA_FILE: /data/license.data
volumes:
- ~/.mytbpe-data:/data
- ~/.mytbpe-logs:/var/log/thingsboard
postgres:
restart: always
image: "postgres:15"
ports:
- "5432"
environment:
POSTGRES_DB: thingsboard
POSTGRES_PASSWORD: postgres
volumes:
- ~/.mytbpe-data/db:/var/lib/postgresql/data
说明:
PUT_YOUR_LICENSE_SECRET_HERE
- 在上一步中获取的许可证密钥的占位符。8080:8080
- 将本地端口 8080 连接到公开的内部 HTTP 端口 8080。1883:1883
- 将本地端口 1883 连接到公开的内部 MQTT 端口 1883。7070:7070
- 将本地端口 7070 连接到公开的内部 Edge RPC 端口 7070。5683-5688:5683-5688/udp
- 将本地 UDP 端口 5683-5688 连接到公开的内部 COAP 和 LwM2M 端口。~/.mytbpe-data:/data
- 将主机的目录挂载到 ThingsBoard 数据目录;~/.mytbpe-data。
~/.mytbpe-data/db:/var/lib/postgresql/data
- 将主机的目录挂载到 Postgres 数据目录;~/.mytbpe-data/db。
~/.mytbpe-logs:/var/log/thingsboard
- 将主机的目录挂载到 ThingsBoard 日志目录;~/.mytbpe-logs。
mytbpe
- 这台机器的友好本地名称。restart: always
- 在系统重新启动时自动启动 ThingsBoard,在发生故障时重新启动。;thingsboard/tb-pe:3.6.3PE
- docker 镜像。
3.4、运行安装
3.4.1、创建数据存储和日志的目录
mkdir -p ~/.mytbpe-data && sudo chown -R 799:799 ~/.mytbpe-data
mkdir -p ~/.mytbpe-logs && sudo chown -R 799:799 ~/.mytbpe-logs
3.4.2、启动 docker compose 进行安装
docker compose up -d
docker compose logs -f mytbpe
-
执行此命令后,您可以
http://{your-host-ip}:8080
在浏览器中打开(例如http://localhost:8080
)。您应该看到 ThingsBoard 登录页面。使用以下默认凭据:
- 系统管理员:sysadmin@thingsboard.org / sysadmin
- 租户管理员:tenant@thingsboard.org /租户
- 客户用户:customer@thingsboard.org / customer
您可以随时在帐户资料页面中更改每个帐户的密码。
3.4.3、分离、停止和启动命令
- 查看日志:
docker compose logs -f mytbpe
- 停止容器:
docker compose stop mytbpe
- 启动容器:
docker compose start mytbpe
如果您想从零实战企业级K8S本地部署ThingsBoard专业版集群,请参照:
更多推荐
所有评论(0)