ThingsBoard Edge 安装部署
文章目录
- 一、概述
- 1.官方文档
- 2.部署说明
- 3.安装准备
- 3.1. 克隆服务器
- 3.2.安装 Docker
- 3.3.安装 Java 11
- 3.4.安装 PostgreSQL
- 3.5.下载安装包
- 二、安装部署
- 1.创建 Edge 实例
- 2.创建数据库
- 3.Edge 服务安装
- 3.1.安装服务
- 3.2.配置 Edge
- 3.3.运行安装脚本
- 3.4.重新启动服务
- 4.访问 Edge
- 5.故障排查
- ThingsBoard
# ThingsBoardhttps://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/tb-edge/edge-deploy/
一、概述

1.官方文档
# ThingsBoard Edge安装
https://thingsboard.io/docs/user-guide/install/edge/installation-options/# 在 CentOS/RHEL 服务器上安装
https://thingsboard.io/docs/user-guide/install/edge/rhel/
2.部署说明
部署环境:
- 操作系统:CentOS 7.8
- 软件版本:3.5.1
- 数据库:PostgreSQL 12
安装步骤:
- 在 ThingsBoard 服务器上配置新的 Edge 实例
- 安装 Java 11 (OpenJDK)
- 安装数据库 PostgreSQL 12
- ThingsBoard Edge 服务安装
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.安装 Java 11
ThingsBoard 服务在 Java 11 上运行。按照以下说明安装 OpenJDK 11
yum install java-11-openjdkjava -version
3.4.安装 PostgreSQL
1.创建目录
# mkdir -p /pg/data/psql2.运行容器
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:123.进入容器
# docker exec -it pg12 /bin/sh切换用户
# su - postgres
$ psql
# \lCREATE DATABASE tb_edge;
\q
退出: \q
列出所有库 \l
列出所有用户 \du
列出库下所有表\d
# 访问地址192.168.202.166
5432
postgres/postgres
3.5.下载安装包
# tb-edge-3.5.1.rpmwget https://github.com/thingsboard/thingsboard-edge/releases/download/v3.5.1/tb-edge-3.5.1.rpm
二、安装部署
1.创建 Edge 实例
在 ThingsBoard 服务器上配置 Edge



# ThingsBoard 服务器地址
82.157.166.86# 边缘键
672b5ad6-cf07-c8af-e7cf-ac8a85114902# 边缘密钥
tuhk87tqb4l1463revxf
2.创建数据库

3.Edge 服务安装
# 1.安装 ThingsBoard Edge 服务
rpm -Uvh tb-edge-3.5.1.rpm# 2.修改 ThingsBoard Edge 配置文件
vim /etc/tb-edge/conf/tb-edge.conf# 3.运行安装脚本
/usr/share/tb-edge/bin/install/install.sh
3.1.安装服务
[root@tb-edge edge]# rpm -Uvh tb-edge-3.5.1.rpm
Preparing... ################################# [100%]
Updating / installing...1:tb-edge-0:3.5.1EDGE-1 ################################# [100%]
3.2.配置 Edge
[root@tb-edge edge]# vim /etc/tb-edge/conf/tb-edge.conf# UNCOMMENT NEXT LINES AND PUT YOUR CLOUD CONNECTION SETTINGS:
export CLOUD_ROUTING_KEY=672b5ad6-cf07-c8af-e7cf-ac8a85114902
export CLOUD_ROUTING_SECRET=tuhk87tqb4l1463revxf# UNCOMMENT NEXT LINES IF YOU CHANGED DEFAULT CLOUD RPC HOST/PORT SETTINGS:
export CLOUD_RPC_HOST=82.157.166.86
export CLOUD_RPC_PORT=7070# UNCOMMENT NEXT LINES IF YOU HAVE CHANGED DEFAULT POSTGRESQL DATASOURCE SETTINGS:
export SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.202.166:5432/tb_edge
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=postgres

3.3.运行安装脚本
# /usr/share/tb-edge/bin/install/install.sh

3.4.重新启动服务
systemctl restart tb-edgesystemctl start tb-edge
systemctl enable tb-edge
systemctl status tb-edge

4.访问 Edge
http://192.168.202.166:8080/login
tenant@thingsboard.org
tenant


5.故障排查
ThingsBoard Edge 日志存储在以下目录中:
/var/log/tb-edge
您可以发出以下命令来检查服务端是否有任何错误:
cat /var/log/tb-edge/tb-edge.log | grep ERROR
- ThingsBoard
# ThingsBoardhttps://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/tb-edge/edge-deploy/
相关文章:
ThingsBoard Edge 安装部署
文章目录 一、概述1.官方文档2.部署说明3.安装准备3.1. 克隆服务器3.2.安装 Docker3.3.安装 Java 113.4.安装 PostgreSQL3.5.下载安装包 二、安装部署1.创建 Edge 实例2.创建数据库3.Edge 服务安装3.1.安装服务3.2.配置 Edge3.3.运行安装脚本3.4.重新启动服务 4.访问 Edge5.故障…...
CSS进阶空间转换和 less
<html> <head> <meta charset"UTF-8" /> <title>空间转换</title> </head> <body> <!-- 空间转换 空间:是从坐标轴角度定义的X,Y,和Z三条坐标轴构成一个立体空间 Z轴位置与视线方向相同 空间转换也叫3D转…...
C/C++ 知识点:| 与 || 的区别
文章目录 一、|与 || 的区别1、按位或运算符 |2、逻辑或运算符 ||3、区别4、总结 前言 在C编程语言中,逻辑或运算符用于连接两个条件表达式,当至少有一个条件为真时,整个表达式的结果为真。C提供了两种逻辑或运算符:按位或|和逻辑…...
CSS中如何设置单行或多行内容超出后,显示省略号
1. 设置超出显示省略号 css设置超出显示省略号可分两种情况: 单行文本溢出显示省略号…多行文本溢出显示省略号… 但使用的核心代码是一样的:需要先使用 overflow:hidden;来把超出的部分隐藏,然后使用text-overflow:ellipsis;当文本超出时…...
PFA烧杯透明聚四氟乙烯刻度量杯
PFA烧杯,刻度清晰,耐酸碱,和有机溶剂。...
Redis底层数据结构之String
文章目录 1. 前提回顾2. RedisObject三大数据类型简介3. SDS字符串4. SDS字符串源码分析5. 总结 1. 前提回顾 前面我们说到redis的String数据结构在底层有多种编码方式。例如我们执行下面两条语句 set k1 v1 set age 17我们查看类型,发现这类型都是String类型 我们…...
【Maven学习笔记】Maven入门教程(适合新手反复观看学习)
Maven学习笔记 Maven的简要介绍Maven的安装和配置Maven的安装Maven安装的常用配置 Maven的使用入门编写pom编写主代码编写测试代码打包和运行使用Archetype生成项目骨架 Maven核心概念的阐述坐标案例分析依赖依赖的范围传递性依赖依赖范围依赖调节可选依赖Maven依赖常用的技巧 …...
idea Springboot 在线考试管理系统开发mysql数据库web结构java编程计算机网页
一、源码特点 springboot 在线考试管理系统是一套完善的完整信息系统,结合mvc框架和bootstrap完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有…...
Spring Cloud Alibab 入门搭建,包含Nacos中心,注册服务发现服务,Feign请求,GateWay网关,sentinel限流
源码在最后 一、安装Nacos注册中心 1.1查看Nacos官网,安装Nacos服务,下载源码或者安装包 1.2启动服务,默认端口为8848, 二、创建服务注册&发现 2.1使用脚手架,创建注册服务和发现服务项目,我用的版…...
ShardingSphere-SQL 解析 Issue 处理流程
ShardingSphere-SQL 解析 Issue 处理流程 这是之前给社区写的 SQL 解析 Issue 的处理流程,可以帮助社区用户快速参与到 ShardingSphere-SQL 解析任务当中。 ShardingSphere SQL 解析 issue 列表 Issue 背景说明 当前 Issue 使用自定义的爬虫脚本从对应的数据库官…...
【矩阵】48. 旋转图像【中等】
旋转图像 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,…...
高质量 Git 仓库汇总(持续更新,方便查看)
Leetcode https://github.com/kamyu104/LeetCode-Solutions Cmake https://github.com/viva64/pvs-studio-cmake-examples 3D目标检测 Awesome-3D-Object-Detection Awesome-3D-Object-Detection-for-Autonomous-Driving Cuda Code dbscan https://github.com/l3lackc…...
学习笔记-华为IPD转型2020:1,IPD的重要意义
华为产品开发转型:IPD计划 大多数公司发现,当公司大幅增长时,在较小规模上有效的管理实践不再有效。产品开发过程也是如此。随着华为的发展,该公司遇到了产品故障率更高、开发周期更长和研发成本增加等问题。然后,它转…...
【阿里云系列】-基于云效构建部署NodeJS项目到ACK
准备工作 01、编写Dockerfile文件可以根据不同的环境,新建不同的Dockerfile文件,比如Dockerfile-PROD # Deliver the dist folder with NginxFROM nginx:stable-alpine ENV LANGC.UTF-8 ENV TZAsia/ShanghaiCOPY dist/ /usr/share/nginx/html COPY ngi…...
Jmeter入参问题小记
表单入参的时候,这个地方需要勾选,如果不☑️选的话,会提示errorMsg":"Required String parameter code is not present",...
【四 (2)数据可视化之 Matplotlib 常用图表及代码实现 】
目录 文章导航一、介绍二、安装Matplotlib三、导入Matplotlib四、设置可以中文显示四、常用图形1、散点图(Scatter Plot)2.1、线性图(Line Plot)2.2、堆叠折线图2.3、多图例折线图3.1、柱状图/条形图(Bar Chart&#x…...
官网建设的江湖四大流派,一派苦撑、一派完犊子、另外两派搅局。
有人的地方就有江湖,有江湖的地方就有纷争,有纷争地方就有此起彼伏。 说好的,当赚够了钱就退出建站江湖,人就是江湖,怎么退? 官网建设风起云涌20年,一方倒地,一方揭竿而起ÿ…...
Ubuntu 安装 KVM 虚拟化
1. Ubuntu 安装 KVM 虚拟化 KVM 是 Linux 内核中一个基于 hypervisor 的虚拟化模块,它允许用户在 Linux 操作系统上创建和管理虚拟机。 如果机器的CPU不支持硬件虚拟化扩展,是无法使用KVM(基于内核的虚拟机)直接创建和运行虚拟机的。此时最多只能使用…...
SA3D:基于 NeRF 的三维场景分割方法
Paper: Cen J, Zhou Z, Fang J, et al. Segment anything in 3d with nerfs[J]. Advances in Neural Information Processing Systems, 2024, 36. Introduction: https://jumpat.github.io/SA3D/ Code: https://github.com/Jumpat/SegmentAnythingin3D SA3D 是一种用于 NeRF 表…...
mysql实战开发之 mysql 删除一张表某个字段的sql语句
有一张表, 我需要删除这张表其中的某一个或者某几个字段, 相信大家在日常开发中应该会遇到这种情况, 然后刚好自己接触的项目安装的mysql关闭了允许远程连接的设置, 也就是说不允许使用类似于navicat 等可视化工具连接, 那么就没办法通过可视化工具直接去通过鼠标操作就可以 完…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 :在几秒钟…...
Copilot for Xcode (iOS的 AI辅助编程)
Copilot for Xcode 简介Copilot下载与安装 体验环境要求下载最新的安装包安装登录系统权限设置 AI辅助编程生成注释代码补全简单需求代码生成辅助编程行间代码生成注释联想 代码生成 总结 简介 尝试使用了Copilot,它能根据上下文补全代码,快速生成常用…...
【工具教程】多个条形码识别用条码内容对图片重命名,批量PDF条形码识别后用条码内容批量改名,使用教程及注意事项
一、条形码识别改名使用教程 打开软件并选择处理模式:打开软件后,根据要处理的文件类型,选择 “图片识别模式” 或 “PDF 识别模式”。如果是处理包含条形码的 PDF 文件,就选择 “PDF 识别模式”;若是处理图片文件&…...
