Websocket连接tdengine 3节点集群失败

【TDengine 使用环境】
预生产环境

【TDengine 版本】TDengine-server-3.3.6.13

【操作系统以及版本】centos 7.9

【部署方式】 非容器部署

【集群节点数】 3

【集群副本数】 3

【描述业务影响】

开始3节点都正常服务,业务系统通过websocket连接 主mnode主节点(tdengine20:6030)正常使用,后续主节点宕机,剩余两台节点, 找出新的mnode主节点(tdengine22:6030),配置连接新的mnode,连接失败

【问题复现路径/shan】无,主节点意外宕机

【遇到的问题:问题现象及影响】

image

【资源配置】

【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)

请将配置websocket连接的 url 给出来看看。

jdbc:TAOS-WS://192.168.1.120:6041/iot_vehicle

jdbc:TAOS-WS://192.168.1.121:6041/iot_vehicle

jdbc:TAOS-WS://192.168.1.122:6041/iot_vehicle

客户端做了重连封装,失败其中一个,会自动切换下一个

有空帮忙看看是什么问题

curl http://192.168.1.122:6041/rest/sql -u root:taosdata -d ‘show dnodes;’

在出现问题时,在业务程序的机器上运行上面的命令看看能不能正常执行。

这个是3节点,其中一个122挂掉的情况:

[root@tdengine22 bin]# curl http://192.168.1.121:6041/rest/sql -u root:taosdata -d ‘show dnodes;’
{“code”:0,“column_meta”:[[“id”,“INT”,4],[“endpoint”,“VARCHAR”,134],[“vnodes”,“SMALLINT”,2],[“support_vnodes”,“SMALLINT”,2],[“status”,“VARCHAR”,10],[“create_time”,“TIMESTAMP”,8],[“reboot_time”,“TIMESTAMP”,8],[“note”,“VARCHAR”,256]],“data”:[[1,“tdengine20:6030”,1,13,“ready”,“2026-03-24T01:44:43.104Z”,“2026-03-24T08:11:13.255Z”,“”],[4,“tdengine21:6030”,1,13,“ready”,“2026-03-24T02:06:03.675Z”,“2026-03-24T08:11:15.593Z”,“”],[5,“tdengine22:6030”,2,13,“offline”,“2026-03-24T02:06:16.549Z”,“2026-03-25T02:05:48.600Z”,“status msg timeout”]],“rows”:3}[root@tdengine22 bin]#

有数据的,总感觉 3个节点 ,哪怕挂了一个 ,整个集群都不可用了,这个高可用不明白要怎么搭建,

是否数据库创建脚本有问题,脚本如下:

CREATE
DATABASE iot_vehicle REPLICA 1  VGROUPS 3  PRECISION 'ms' KEEP 180 DURATION 10 BUFFER 16   ;


此外集群搭建的时候 mnode dnode 3个节点都是创建有的, 目前情况是 只要一个节点有问题,应用客户端  通过切换地址连接其他的节点 总是无法连接或者有连接成功,但是执行sql时 又报  TDengine ERROR (0xb): Unable to establish connection
	at com.taosdata.jdbc.TSDBError.createSQLException(TSDBError.java:95) 

2026-03-25 10:08:21:696 [dataSource_connect_thread] 重连数据库jdbc:TAOS://192.168.1.120:6030/iot_vehicle失败:Failed to initialize pool: TDengine ERROR (0x8000000b): Unable to establish connection
2026-03-25 10:08:36:699 [dataSource_connect_thread] 重连数据库jdbc:TAOS://192.168.1.121:6030/iot_vehicle失败:Failed to initialize pool: TDengine ERROR (0x8000000b): Unable to establish connection

只挂其中一个节点,重连剩余节点都是失败

tdengine集群支持这种 url 连接吗

“jdbc:TAOS://host1:6030,host2:6030/dbname?charset=utf8&locale=en_US&timezone=UTC”;

REPLICA :这个参数需要配置成 REPLICA 3 才是高可用的。

但链接应该不受影响,只要有 2个节点正常,就应该能正常链接。

taos 能够正常登录,就说明集群是正常的。

查询、写入,那就同时要求 所在的库是 3副本才行,即建库时, REPLICA 要设置成 3.