【发布时间】:2021-02-12 10:57:38
【问题描述】:
我在中型 Ubuntu EC2 实例上运行单节点 Cassandra 集群。在对 cassandra.yaml 进行任何更改之前,我可以使用 cqlsh 连接到 cassandra,
并运行netstat -ltn 日志:
Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 127.0.0.53:53 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:38807 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:7000 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:35835 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:7199 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:9160 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:9042 0.0.0.0:* LISTENtcp6 0 0 :::22 :::* LISTEN
检查 Cassandra 服务状态显示它活动(运行)
尝试使用cqlsh <instance public IP> 远程连接到实例超时,我假设这是因为它没有在实例公共 IP 上侦听客户端。
到目前为止我已经累了:
- 将
listen_address更改为我的私有实例 IP - 将
start_rpc:true、rpc_address设置为我的私有IP,将broadcast_address设置为我的公共IP - 将
rpc_address设置为 0.0.0.0 并将broadcast_rpc_address设置为我的公共 IP
注意:我保持 seeds: "127.0.0.1" 不变,因为我没有其他种子或节点。
进行上述任何更改后,我不再能够在本地使用 cqlsh 或 cqlsh <public IP> 访问 Cassandra(并且远程仍然没有连接),即使在实例终端本身中也是如此,我将获得 连接拒绝。另外,netstat -ltn 现在记录:
Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 127.0.0.53:53 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:38807 0.0.0.0:* LISTENtcp6 0 0 :::22 :::* LISTEN
Cassandra 服务状态显示为活动(已退出)
我希望能够远程连接到该实例,但是在对 cassandra.yaml 进行任何更改时,我无法再连接到它,即使在本地也是如此。
另外,我在实例上为端口 80、22、9042 和 7000 设置了安全组。
任何想法为什么会发生这种情况或我该如何解决?
【问题讨论】:
标签: amazon-web-services amazon-ec2 tcp cassandra ip