Cassandra 30节点集群数据加载失败求助(附报错日志)
Cassandra集群数据加载问题修复方案
1. Keyspace 'huawei' 不存在错误
原因
加载数据时指定的keyspace未在集群中创建,导致插入请求被拒绝。
修复步骤
- 登录任意Cassandra节点,启动CQLSH:
cqlsh <节点IP> - 创建匹配集群配置的keyspace(数据中心为
datacenter 1,副本因子3):
CREATE KEYSPACE huawei WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter 1': 3};
- 执行
DESCRIBE KEYSPACES;确认keyspace创建成功 - 检查数据加载工具的配置,确保keyspace名称与创建的完全一致(Cassandra默认大小写敏感)
2. 节点 dmbas-r410-26(10.173.226.43) 不可达警告
原因
客户端无法连接目标节点,可能是网络路由故障、防火墙拦截、节点服务未启动或节点本身故障。
修复步骤
- 网络连通性验证:在数据加载工具所在机器执行
ping 10.173.226.43和telnet 10.173.226.43 9160,确认网络可达且Thrift端口开放;若使用CQL协议,同时检查9042端口 - 防火墙规则检查:登录目标节点,确认防火墙允许客户端机器访问9160、9042端口
- 节点服务状态检查:在目标节点执行
nodetool status确认Cassandra运行状态;若未启动,执行sudo systemctl start cassandra(根据操作系统调整命令) - 路由配置排查:若ping不通,检查节点与客户端之间的路由表,确认无路由缺失
3. HTimedOutException (acknowledged_by:1) 超时警告
原因
写入请求仅收到1个节点的确认,无法满足副本因子3的一致性要求导致超时,通常和节点不可达直接相关,也可能是一致性级别配置不合理。
修复步骤
- 优先修复节点不可达问题:确保所有副本节点正常在线后,重试数据加载
- 调整一致性级别:Hector客户端中,将写入一致性级别从
ALL调整为QUORUM或LOCAL_QUORUM(单数据中心场景更适用),这样仅需2个节点确认即可完成写入 - 节点负载排查:若节点正常仍超时,检查节点CPU、内存、磁盘IO使用率,确认是否因资源不足导致处理缓慢
- 延长超时参数:在Hector配置中适当调大连接超时和操作超时时间,避免网络延迟引发误判
内容的提问来源于stack exchange,提问作者user3051956
相关产品推荐
相关产品推荐

