• ThingsBoard Edge 安装部署(Docker)


    # ThingsBoard
    
    https://iothub.org.cn/docs/iot/
    https://iothub.org.cn/docs/iot/tb-edge/edge-deploy-docker/
    
    • 1
    • 2
    • 3
    • 4

    一、概述

    在这里插入图片描述

    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/
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 添加阿里云加速镜像
    # 添加阿里云加速镜像
    
    cat > /etc/docker/daemon.json << EOF
    {
       "registry-mirrors": ["https://gcctk8ld.mirror.aliyuncs.com"],
       "exec-opts": ["native.cgroupdriver=cgroupfs"]
    } 
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 重启docker
    #重启docker
    systemctl restart docker
    
    • 1
    • 2
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    # 访问地址
    
    192.168.202.166
    5432
    postgres/postgres
    
    • 1
    • 2
    • 3
    • 4
    • 5
    3.5.创建 Edge 实例

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

    # ThingsBoard 服务器地址
    82.157.166.86
    
    # 边缘键
    672b5ad6-cf07-c8af-e7cf-ac8a85114902
    
    # 边缘密钥
    tuhk87tqb4l1463revxf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    二、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
    
    • 1
    • 2

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    2.运行容器

    docker compose up -d
    docker compose logs -f mytbedge
    
    • 1
    • 2

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

    3.访问 Edge

    http://192.168.202.166:8080/login
    tenant@thingsboard.org
    tenant
    
    • 1
    • 2
    • 3

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

    三、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
    
    • 1
    • 2

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    3.访问 Edge

    http://192.168.202.166:8080/login
    tenant@thingsboard.org
    tenant
    
    • 1
    • 2
    • 3
    # ThingsBoard
    
    https://iothub.org.cn/docs/iot/
    https://iothub.org.cn/docs/iot/tb-edge/edge-deploy-docker/
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    Java NIO 关键概念之 Buffer
    使用51单片机控制T0和T1分别间隔1秒2秒亮灭逻辑
    cf #832 Div.2(A-D)
    若依(ruoyi-vue)后端部署windows系统
    炒鸡详细的Vm安装Linux和Linux客户端使用以及​Linux下的目录结构
    tf.Variable
    [附源码]计算机毕业设计疫情背景下社区互助服务系统Springboot程序
    基于Pytest+Requests+Allure实现接口自动化测试!
    哈佛架构 VS 冯·诺依曼架构
    比Let‘s Encrypt更简单更齐全的免费证书申请教程
  • 原文地址:https://blog.csdn.net/iiothub/article/details/136728637