ThingsBoard Edge 安装部署(Docker)

news/2024/5/19 12:11:17 标签: edge, 物联网, 边缘计算, 云原生, 开源软件

文章目录

    • 一、概述
      • 1.官方文档
      • 2.部署说明
      • 3.安装准备
        • 3.1. 克隆服务器
        • 3.2.安装 Docker
        • 3.3.安装 docker-compose
        • 3.4.安装 PostgreSQL
        • 3.5.创建 Edge 实例
    • 二、Docker Compose 方式部署
      • 1.创建 docker-compose.yml
      • 2.运行容器
      • 3.访问 Edge
    • 三、Docker 直接部署
      • 1.创建数据库
      • 2.运行容器
      • 3.访问 Edge

  • ThingsBoard
# ThingsBoard

https://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/tb-edge/edge-deploy-docker/

一、概述

在这里插入图片描述

1.官方文档

# ThingsBoard Edge安装
https://thingsboard.io/docs/user-guide/install/edge/installation-options/

# 使用 Docker 安装(Linux 或 Mac OS)
https://thingsboard.io/docs/user-guide/install/edge/docker/

2.部署说明

部署环境:

  • 操作系统:CentOS 7.8
  • 软件版本:3.5.1
  • 数据库:PostgreSQL 12

部署方式:

  • Docker Compose 方式部署
  • Docker 直接部署

3.安装准备

3.1. 克隆服务器
# 克隆机器

# 修改IP地址
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
192.168.202.166

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 设置主机名
hostnamectl set-hostname tb-edge
3.2.安装 Docker

安装版本19.03.*

$ yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

$ yum -y install docker-ce

$ systemctl enable docker && systemctl start docker

$ docker --version
  • 添加阿里云加速镜像
# 添加阿里云加速镜像

cat > /etc/docker/daemon.json << EOF
{
   "registry-mirrors": ["https://gcctk8ld.mirror.aliyuncs.com"],
   "exec-opts": ["native.cgroupdriver=cgroupfs"]
} 
EOF
  • 重启docker
#重启docker
systemctl restart docker
3.3.安装 docker-compose

安装 docker-compose

#下载源码
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose


#给docker-compose添加执行权限
sudo chmod +x /usr/local/bin/docker-compose

#查看docker-compose是否安装成功
docker-compose version

docker-compose 基本操作

# 安装并启动EdgeX
sudo docker-compose up -d     # -d 后台运行容器
 
# 查看所有容器运行状况
sudo docker-compose ps
 
# 显示容器日志
docker-compose logs -f [compose-contatainer-name]
 
# 停止容器
sudo docker-compose stop
 
# 启动容器
sudo docker-compose start
 
# 停止和删除所有容器
sudo docker-compose down


# 常用命令:
启动:docker-compose up -d 注意这里需要在yml配置文件路径执行,其他路径执行需要-f指定配置文件地址。
查看日志:docker-compose logs -f ${compose-contatainer-name}
停止:docker-compose stop
停止并删除容器:docker-compose down
其他命令帮助:docker-compose --help
3.4.安装 PostgreSQL
1.创建目录
# mkdir -p /pg/data/psql
 
 
2.运行容器
docker run -d --network host --name pg12 --restart=always \
-e LANG="C.UTF-8" \
-e 'TZ=Asia/Shanghai' \
-e "POSTGRES_DB=postgres" \
-e "POSTGRES_USER=postgres" \
-e "POSTGRES_PASSWORD=postgres" \
-v /pg/data/psql:/var/lib/postgresql/data \
postgres:12
 

3.进入容器
# docker exec -it pg12 /bin/sh
 
切换用户
# su - postgres
$ psql 
# \l


CREATE DATABASE tb_edge;
\q
退出: \q
列出所有库 \l
列出所有用户 \du
列出库下所有表\d
# 访问地址

192.168.202.166
5432
postgres/postgres
3.5.创建 Edge 实例

在 ThingsBoard 服务端上配置 Edge
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# ThingsBoard 服务器地址
82.157.166.86

# 边缘键
672b5ad6-cf07-c8af-e7cf-ac8a85114902

# 边缘密钥
tuhk87tqb4l1463revxf

二、Docker Compose 方式部署

1.创建 docker-compose.yml

1.创建数据和日志文件夹

mkdir -p ~/.mytb-edge-data && sudo chown -R 799:799 ~/.mytb-edge-data
mkdir -p ~/.mytb-edge-logs && sudo chown -R 799:799 ~/.mytb-edge-logs

2.docker-compose.yml

version: '3.0'
services:
  mytbedge:
    restart: always
    image: "thingsboard/tb-edge:3.5.1EDGE"
    ports:
      - "8080:8080"
      - "1883:1883"
      - "5683-5688:5683-5688/udp"
    environment:
      SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/tb-edge
      CLOUD_ROUTING_KEY: 672b5ad6-cf07-c8af-e7cf-ac8a85114902
      CLOUD_ROUTING_SECRET: tuhk87tqb4l1463revxf
      CLOUD_RPC_HOST: 82.157.166.86
      CLOUD_RPC_PORT: 7070
      CLOUD_RPC_SSL_ENABLED: false
    volumes:
      - ~/.mytb-edge-data:/data
      - ~/.mytb-edge-logs:/var/log/tb-edge
  postgres:
    restart: always
    image: "postgres:12"
    ports:
      - "5432"
    environment:
      POSTGRES_DB: tb-edge
      POSTGRES_PASSWORD: postgres
    volumes:
      - ~/.mytb-edge-data/db:/var/lib/postgresql/data

2.运行容器

docker compose up -d
docker compose logs -f mytbedge

在这里插入图片描述
在这里插入图片描述

3.访问 Edge

http://192.168.202.166:8080/login
tenant@thingsboard.org
tenant

在这里插入图片描述
在这里插入图片描述

三、Docker 直接部署

1.创建数据库

在这里插入图片描述

2.运行容器

1.创建数据和日志文件夹

mkdir -p ~/.mytb-edge-data && sudo chown -R 799:799 ~/.mytb-edge-data
mkdir -p ~/.mytb-edge-logs && sudo chown -R 799:799 ~/.mytb-edge-logs

2.运行容器

docker run -d --network host --name tb-edge --restart=always \
-e "SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.202.166:5432/tb-edge" \
-e "SPRING_DATASOURCE_USERNAME=postgres" \
-e "SPRING_DATASOURCE_PASSWORD=postgres" \
-e "CLOUD_ROUTING_KEY=672b5ad6-cf07-c8af-e7cf-ac8a85114902" \
-e "CLOUD_ROUTING_SECRET=tuhk87tqb4l1463revxf" \
-e "CLOUD_RPC_HOST=82.157.166.86" \
-e "CLOUD_RPC_PORT=7070" \
-e "CLOUD_RPC_SSL_ENABLED=false" \
-v ~/.mytb-edge-data:/data \
-v ~/.mytb-edge-logs:/var/log/tb-edge \
thingsboard/tb-edge:3.5.1EDGE

3.访问 Edge

http://192.168.202.166:8080/login
tenant@thingsboard.org
tenant
  • ThingsBoard
# ThingsBoard

https://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/tb-edge/edge-deploy-docker/

http://www.niftyadmin.cn/n/5429524.html

相关文章

macOS 安装使用 python 虚拟机

在macOS上安装Conda的步骤相对简单。Conda通常通过Anaconda或Miniconda进行安装&#xff0c;Anaconda是一个包含了Conda、Python和许多科学包及其依赖的发行版&#xff0c;而Miniconda则是一个更轻量级的版本&#xff0c;只包含Conda和Python。以下是在macOS上安装Anaconda的步…

Tailwind CSS如何使用

Tailwind CSS 是一个功能类优先的 CSS 框架&#xff0c;它提供了大量的实用工具类&#xff0c;使得在 HTML 文件中直接通过类组合的方式来构建设计而不需要写自定义 CSS。这种方法提供了极高的灵活性和定制性&#xff0c;同时也极大地加快了开发速度。自从它在 2017 年被首次发…

机器学习概论—正则化

文章目录 机器学习概论—正则化什么是过拟合和欠拟合解决过拟合的方式什么是偏差和方差机器学习中的正则化套索回归岭回归弹性网络回归总结机器学习概论—正则化 在开发机器学习模型的过程中,大家一定遇到过模型在训练集上表现不错,但验证精度或测试精度过低的情况。这种情况…

C++for语句

1.求平均年龄 班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位 输入 第1行有一个整数n(1 <= n <=100),表示学生的人数;其后n行每行有1个整数,表示每个学生的年龄,取值为15~25 输出 一行,包含一个浮点数,为所求的平…

【STL】set容器、pair队组与map容器

目录 1.修改set容器排序规则 2. set容器的各种函数 3.set构造函数multiset 4.创建pair队组 5.map容器 1.修改set容器排序规则 set容器会自动以升序的方式进行排序&#xff0c;想要改变可以制定排序规则&#xff0c;set<int,排序规则> s&#xff1b; 但需要注意&am…

stanfordcorenlp创建实例对象时,一直运行,不报错也不出结果

前几天因为工作需要下载了Stanford Corenlp工具&#xff0c;然后创建相应的实例对象&#xff0c;对文本进行分词、注释等操作。单句测试的时候可以正常运行&#xff0c;很快就出结果&#xff0c;但是写到函数里&#xff0c;就是一直运行&#xff0c;不报错也不出结果&#xff0…

性能测试-Redis

一、测试注意点 1、缓存预热 如果程序初次运行&#xff0c;此时由于数据尚未加载到缓存&#xff0c;则程序的响应时间会明显变长 注意事项&#xff1a; 性能测试的时候 出现 非常不稳定的现象程序刚启动&#xff0c;它的性能 明显 低于 已经运行一段时间的 1.1 测试缓存没…

BUGKU-WEB shell

题目描述 题目截图如下&#xff1a; 描述&#xff1a; $poc "a#s#s#e#r#t";$poc_1 explode("#", $poc);$poc_2 $poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];$poc_2($_GET[s])进入场景看看&#xff1a;是一个空白的界面 解题思路 …