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 等可视化工具连接, 那么就没办法通过可视化工具直接去通过鼠标操作就可以 完…...

Selenium控制已运行的Edge和Chrome浏览器——在线控制 | 人机交互(详细启动步骤和bug记录)
文章目录 前期准备1. 浏览器开启远程控制指令(1)Edge(2)Chrome 2. 执行python代码(1)先启动浏览器后执行代码(2)通过代码启动浏览器(3)Bug问题记录1ÿ…...

【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里
【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到…...

数据结构——动态顺序表
数据结构的动态顺序表有以下几个操作:创建,销毁,初始化,增删查改和打印以及内存空间不够时的扩容 本文的宏定义: #define SeqTypeData int 1.动态顺序表的创建 typedef struct SeqListInit{//动态顺序表的创建SeqT…...

Android Studio实现内容丰富的安卓宠物医院管理系统
获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 项目编号128 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.系统公告 3.宠物社区(可发布宠物帖子…...

华为OD机试真题-启动多任务排序-2024年OD统一考试(C卷)
题目描述: 一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。 现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则…...

在没有推出硬盘的情况下,重启mac电脑,外接移动硬盘无法加载显示?
一、mac磁盘工具显示未装载 1.打开终端,输入 diskutil list查看当前硬盘列表,大多数时候,可以解决。 二、使用命令行装载硬盘 执行上面命令后,仍不起作用,则手动挂载,在命令行输入如下内容: …...

C++笔记:从零开始一步步手撕高阶数据结构AVL树
文章目录 高度平衡二叉搜索树实现一颗AVL树结点与树的描述——定义类AVL树的插入操作步骤1:按照二叉搜索树的方法插入结点步骤2:自底向上调整平衡因子步骤3:触发旋转操作(AVL树平衡的精髓)右单旋左单旋左右双旋右左双旋…...

CodeSys通过C函数接口调用Qt
文章目录 1.背景介绍2.修改makefile2.1.将编译器由c改成c2.2.使能opencv库2.3.使能Qt库 3.在代码中使用Qt库函数 1.背景介绍 建议先查看之前的文章【CodeSys中调用C语言写的动态库】,了解如何创建一个能够被codesys调用的动态库。 假如想要在函数中使用Qt或者第三方…...

线性代数笔记18--行列式公式、代数余子式
1. 行列式公式推导 二阶行列式推导 [ a b c d ] [ a 0 c d ] [ 0 b c d ] [ a 0 0 d ] [ a 0 c 0 ] [ 0 b c 0 ] [ 0 b 0 d ] [ a 0 0 d ] − [ b 0 0 c ] a d − b c \begin{align} \begin{bmatrix} a & b \\ c & d \end{bmatrix}& \begin{bmatrix} a &…...

最新2024年项目基金撰写与技巧及GPT融合应用
随着社会经济发展和科技进步,基金项目对创新性的要求越来越高。申请人需要提出独特且有前瞻性的研究问题,具备突破性的科学思路和方法。因此,基金项目申请往往需要进行跨学科的技术融合。申请人需要与不同领域结合,形成多学科交叉…...