CnosDB冷节点环境创建数据库报错信息异常咨询
问题分析与解决
核心问题
你这情况是创建数据库时的节点匹配逻辑出了问题,而且错误提示明显有误导性——明明环境里全是COLD节点,系统找不到符合要求的节点,却提示"Valid node is not enough, need: 1, but found: 1"。
原因拆解
当你给数据库配置cooling_duration和vnode_duration这两个冷热分层参数时,系统默认要求至少有1个HOT/WARM类型的数据节点来承载初始写入(哪怕设置了冷却时长,创建数据库的阶段还是会检查可写入的热节点)。你的环境里全是COLD节点,根本没有符合要求的节点,但2.4.0版本的节点匹配逻辑存在BUG,导致错误提示的数值显示错误,和实际情况不符。
验证依据
通过show datanodes;能看到2个健康的COLD节点,说明系统确实没有满足创建条件的节点,错误提示里的"found:1"是错误输出。
临时解决方法
- 临时把至少一个COLD节点改成HOT/WARM类型,创建完数据库再切回COLD;
- 如果不需要冷热分层功能,直接去掉那两个参数执行创建语句:
create database db003;
版本修复建议
这个错误提示的BUG在后续版本已经被修复了,建议升级到2.4.0以上的稳定版本,就不会再遇到这种误导性提示了。
内容的提问来源于stack exchange,提问作者Baker X
相关产品推荐
相关产品推荐

