TDengine 单节点Cluster not ready( 群集未就绪) 异常问题分析及解决方案

TDengine单节点群集未就绪解决方案

问题表现

在开发中,创建单节点TDengine后,启动taosd服务后,经taos命令链接,jdbc链接正常,创建表空间,创建超级表正常,执行数据插入语句时,出现异常

TDengine ERROR (8000033c): Cluster not ready; nested exception is java.sql.SQLException: TDengine ERROR (8000033c): Cluster not ready

执行 show dnodes;命令,显示只有一个集群节点,节点状态为 offline

问题排查

出现bug后本着重启解决一切问题的原则,进行了如下操作

  1. 重启服务器
  2. 重启taod服务

  3. 以上操作完全无效,就差卸载安装没试验了.

正确步骤

  1. 分析bug的报告者
  2. 查看log

检查 /var/log/taos/ 下日子内容 发现大量

05/21 04:13:15.539739 00031639 DND ERROR status rsp is received, error:Unable to resolve FQDN
分析可知 单节点集群为正常工作的问题是FQDN相关配置异常

检查linux系统的 /etc/hostname 文件 已正确配置FQDN
客户端可正确访问服务器 Ping通
检查linux系统下taos配置 /etc/taos/taos.cfg 正确配置

经过抓狂后,无意间
尝试在服务端自己Ping自己,诡异的事情发生了,Ping不通.

问题解决

当发现自己Ping自己Ping不同后 意识到是DNS 解析异常;
在 /etc/hosts 中 添加自己的FQDN到127.0.0.1 的映射关系
随后执行 show dnodes;
单节点服务正常

反思

之前部署的时候一般都是从装系统开始,装系统时即配置网络,设置主机名即本机FQDN名称,
本次部署使用的是甲方提供的系统, 存在多个FQDN名称, 安装TDengine 后没有注意到关于本机FQDN的映射关系,导致了本机Ping本机Ping不通的尴尬情况.最终导致单机节点数据库启动失败.


版权声明:本文为weixin_48352132原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。