You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行Cassandra-Stress压测命令出现警告,请求技术排查

解决Cassandra-Stress压测时的"联系点未在system.peers中找到"警告

首先先拆解你遇到的警告信息:

WARN 18:28:41,488 您在联系点中列出了localhost/0:0:0:0:0:0:0:1:9042,但启动时在控制主机的system.peers中未找到该节点;已连接到集群:Test Cluster,每个连接的最大挂起请求数128,每个主机的最大连接数8...

这个警告的核心逻辑其实很好理解:
system.peers是Cassandra专门用来存储集群中其他节点元数据的表,在单节点集群环境下,这个表本来就是空的——因为没有其他节点可以记录。所以工具会提示找不到你指定的localhost(IPv6格式的::1)节点,但后面的"已连接到集群:Test Cluster"已经明确说明连接其实是成功的,压测完全可以正常执行。

下面分场景给你具体的处理方案:

情况1:单节点Cassandra集群

如果你的环境是单节点,这个警告完全可以忽略——它只是工具的一个冗余提示,不会影响压测的执行结果,你可以放心继续你的压测任务。

情况2:想要彻底消除这个警告

如果你看着这个警告不舒服,或者是多节点集群下出现这个问题,可以试试以下方法:

方法1:在压测命令中指定IPv4地址

修改你的cassandra-stress命令,通过-node参数明确指定IPv4格式的本地地址,避免工具默认解析到IPv6:

./cassandra-stress user profile=/home/cass/apache-cassandra-3.11.2/tools/stress_test.yaml duration=1m "ops(insert=1,latest_event=1,events=1)" -node 127.0.0.1

方法2:调整Cassandra的配置文件

打开Cassandra安装目录下的conf/cassandra.yaml文件,做以下修改:

  • 找到listen_address,设置为127.0.0.1(单节点环境);
  • 找到rpc_address,同样设置为127.0.0.1;
  • 保存配置后,重启Cassandra服务,再重新执行压测命令。

这样配置后,Cassandra会优先使用IPv4地址,工具就不会再去查找IPv6的节点了。

方法3:多节点集群下的排查

如果是多节点集群出现这个警告,说明节点之间的集群同步有问题:

  • 登录任意节点,执行nodetool status,检查所有节点是否都处于UN(Up/Normal)状态;
  • 确认每个节点的cassandra.yaml中seed_provider配置的种子节点列表包含所有集群节点的正确地址;
  • 检查节点之间的防火墙规则,确保9042(CQL端口)、7000(Gossip通信端口)是开放的。

执行完以上操作后,重新运行压测命令,警告应该就会消失了。

内容的提问来源于stack exchange,提问作者Vishal Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:18:40