centos系统下tb-gateway连接thingsboard和emqx的一些坑

1.找不到配置文件

楼主是用docker部署的tb-gateway,官网给的安装指令是

docker run -it -v ~/.tb-gateway/logs:/thingsboard_gateway/logs -v ~/.tb-gateway/extensions:/thingsboard_gateway/extensions -v ~/.tb-gateway/config:/thingsboard_gateway/config --name tb-gateway --restart always thingsboard/tb-gateway

安装过程中会报错如下

centos系统下tb-gateway连接thingsboard和emqx的一些坑_第1张图片

提示MQTT服务接入拒绝,这是因为我们部署的MQTT服务的地址与配置文件里的配置不同而连接不上MQTT导致的,不用担心,CTRL+C停掉报错,去找配置文件改配置就是了

根据官网的安装指令

-v ~/.tb-gateway/config:/etc/thingsboard-gateway/config - 挂载主机目录~/.tb-gateway/config至网关配置目录

 配置目录在/.tb-gateway/config下。

请注意:

.tb-gateway是个隐藏文件!!!

.tb-gateway是个隐藏文件!!!

.tb-gateway是个隐藏文件!!!

楼主基础知识薄弱,用winscp查找这个文件夹找了两天,一直认为自己的tb-gateway安装失败,又是换系统安装,竟然在隐藏文件这里栽跟头了,CTRL+ALT+H打开winscp的查看隐藏文件功能,就能看到各个配置文件了

centos系统下tb-gateway连接thingsboard和emqx的一些坑_第2张图片

 修改mqtt.json文件,将里面的host、port还有账户密码改成自己部署的就可以了。

2.tb-gateway连不上thingsboard平台

楼主的tb-gateway和thingsboard平台是部署在同一个虚拟机里,1883端口也是thingsboard平台监听,tb-gateway是用docker run部署,thingsboard是用docker-compose up部署,因为在tb-gateway的配置文件里的host直接填写的是127.0.0.1,查看port及token均没有问题,因为怀疑ip这里有问题。

经过大佬点播,想到可能是使用docker容器的ip,查询IP如下

 centos系统下tb-gateway连接thingsboard和emqx的一些坑_第3张图片

 发现tb-gateway的ip地址是172.17.0.2,而thingsboard平台的ip是172.19.0.4,问题发现了,docker  run部署的tb-gateway和docker-compose up部署的thingsboard平台不在一个网段,因为他们ip之间不通。

docker-compose stop停掉docker-compose管理的所有服务,使用

docker run -it -p 9090:9090 -p 1883:1883 --name tb-postgres  thingsboard/tb-postgres

重新部署thingsboard平台,再次查询ip如下

发现tb-gateway和thingsboard终于在同一网段了,修改tb-gateway.yaml文件里的配置如下

 centos系统下tb-gateway连接thingsboard和emqx的一些坑_第4张图片

 修改冲重新启动tb-gateway服务,终于tb-gateway与thingsboard平台连接上了

centos系统下tb-gateway连接thingsboard和emqx的一些坑_第5张图片

 

你可能感兴趣的:(thingsboard,物联网,tb-gateway,物联网,iot)