Docker部署Cassandra 3.11.11执行sstableloader报7000端口连接错误如何解决
问题根因
你使用的sstableloader命令指定了127.0.0.1作为目标节点,但从端口监听结果可以看到,Cassandra的内部流数据通信端口7000仅绑定在容器的内网地址172.18.0.2上,没有监听127.0.0.1的请求,所以会触发连接拒绝错误。
解决方案
方法1:直接修改sstableloader的目标节点地址(最快生效)
把命令里的--nodes 127.0.0.1替换为节点实际绑定的内网地址即可,修改后的命令如下:
cd /var/lib/cassandra/data/appkeyspace/ && find /var/lib/cassandra/data/appkeyspace/ -maxdepth 5 -type d -exec sstableloader -v --nodes 172.18.0.2 {} \;
方法2:调整Cassandra配置,让7000端口同时监听本地回环地址
如果需要后续本地访问更方便,可以修改Cassandra的cassandra.yaml配置文件:
- 找到
listen_address配置项,将值修改为0.0.0.0 - 同步调整
broadcast_address为容器对外可用的访问地址 - 重启Cassandra容器后,再运行原sstableloader命令即可
内容的提问来源于stack exchange,提问作者Luciana Oliveira
相关产品推荐
相关产品推荐

