ThingsKit物联网平台安装部署问题

最低服务器配置和系统要求?

❓ ThingsKit物联网平台的最低服务器配置和系统要求是多少?

答案

以下是ThingsKit物联网平台部署的最低服务器配置要求,如果是生产环境部署,建议联系客服为您评估服务器配置是否合理。

序号配置项参数
1CPU4核
2内存8G
3带宽5M
4磁盘200GB
5操作系统🥇Ubuntu20.04及以上 (推荐)🥈CentOS7.9及以上🥉Windows Server 2012及以上

Thingskit默认端口?

❓ ThingsKit物联网平台的默认端口号是多少?

答案

我们可以根据自己实际情况调整。

序号端口端口说明
15432数据库,postgresql
29000、9001多媒体资源文件存储,minio
39527物联网平台前端
48080物联网平台后端
59528组态服务(v1.2.0及后续版本不再需要)
61883设备接入之MQTT协议
75683/UDP设备接入之CoAP协议
88088设备接入之TCP协议
98088/UDP设备接入之UDP协议
106379缓存工具Redis
119092消息中间件Kafka

JDK版本?

❓ ThingsKit物联网平台支持的JDK版本是多少?

答案

JDK 11.0.12


创建租户失败

❓ 创建租户时,提示“服务器错误,请联系管理员!”

使用浏览器控制台查看API接口返回内容如下:

ThingsKit物联网平台安装部署问题

答案

为租户创建默认规则链的文件不存在。有2种解决方案。

方案1:将data(文件夹)放到服务器的目录/application/src/main下。

方案2:在java命令中增加参数-Dinstall.data_dir=data(文件夹)的路径。

data目录结构ThingsKit物联网平台安装部署问题


图片上传失败,存储桶不符合命名规范?

❓ ThingsKit物联网平台上传头像、产品等图片失败是怎么回事?

答案

检查 minioNameminioPass 是否正确,如果正确再检查 bucketName 的命名是否满足以下规范:

  • 存储桶名称的长度必须介于 3(最小)到 63(最大)个字符之间。
  • 桶名称只能由小写字母、数字、点(.)和连字符(-)组成。
  • 存储桶名称必须以字母或数字开头和结尾。
  • 存储桶名称不得包含两个相邻的句点。
  • 存储桶名称不得采用 IP 地址格式(例如 192.168.5.4)。
  • 存储桶名称不得以前缀 开头xn--。

更详细命名规则请参考


ThingKit是否支持割接升级?

答案

集群模式下支持割接升级,升级的微服务组件的节点不能少于2个。在升级过程中只要保证整个业务的微服务组件完整就不会影响正常业务。

停服割接

是指在割接过程中,所属的业务服务需要停止对外服务,所以会影响业务或客户端的正常访问。

不停服切割

是指在切割过程中,所属的业务服务需要几乎完全正常对外服务,很难对客户的访问和数据产生影响,但不是完全不会有影响。


集群模式下 是怎么维持设备链接的?

答案

集群模式下,设备直接与负载均衡软件连接,再由负载均衡软件根据算法分配一个有效的设备接入服务的节点给设备。

如果设备连接的设备接入服务的节点离线,设备会重新连接和鉴权。


怎么保证多服务器的链接平衡?

答案

设备接入服务和核心服务的API根据负载均衡软件中配置的负载均衡算法确定。


thinhskit物联网平台如何配置开机自启?

答案


前端的默认图片如何修改?

答案

进入前端部署解压后的目录(thingskit/_image/web_ui)。用自己的图片替换掉对应目录下的图片即可。

图片文件和目录清单如下

  1. resource/img/logo.png
  2. assets/logo.2813b619.png
  3. favicon.ico

Kafka异常提示:org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 1195725856 larger than 104857600)

kafka节点为了防止内存溢出,将参数socket.request.max.bytes的默认值设置为104857600(100M)。

答案

在kafka的配置文件(server.properties)中对参数socket.request.max.bytes进行调整。


消息中间件异常(Kafka): Allocating buffer of size 57672199 for source 1

o.a.kafka.common.network.NetworkReceive : Allocating buffer of size 57672199 for source 1

答案

这个异常信息来自重写的Kafka实现类NetworkReceive中。当Kafka的消费者poll的数据大于10M就会弹出这个问题。

ThingsKit物联网平台安装部署问题

消息中间件(Kafka): Error sending fetch request (sessionId=INVALID, epoch=INITIAL)

o.a.kafka.clients.FetchSessionHandler : [Consumer clientId=tb-core-consumer-64424a4d0c7c, groupId=tb-core-node] Error sending fetch request (sessionId=INVALID, epoch=INITIAL) to node 1

答案

调整下面两个环境变量的值。延长kafka客户端和kafka服务端之间通信的有效时间。

TB_QUEUE_KAFKA_REQUEST_TIMEOUT_MS=30000 #client在配置时间内为收到broker响应,判定请求超时。
TB_QUEUE_KAFKA_SESSION_TIMEOUT_MS=10000 #broker在配置时间内为收到client心跳包,判定client无效

使用yum命令安装软件时,提示dnf config-manager

在软件库文件目录【/etc/yum.repos.d】中的repo文件配置异常时才会出现该异常。

答案

将异常信息中的repo文件删除或改下文件后缀。


用nginx部署的管理业务访问时,返回403(无访问权限)?

取现这种现象是因为启动nginx服务的用户和部署包文件的所有者不一致,没问访问权限。需要修改nginx的配置文件nginx.conf

答案

在nginx的配置文件nginx.conf中,指定启动nginx的用户名。


#user  nobody;                 #取消注释,将nobody改为部署包所有者的名字,例如:root
worker_processes  1;

#error_log  logs/error.log;

#user  nobody;                 #取消注释,将nobody改为部署包所有者的名字,例如:root
worker_processes  1;

#error_log  logs/error.log;