Can';t使用公共IP启动Cassandra服务器(端口7000错误)

Can';t使用公共IP启动Cassandra服务器(端口7000错误),cassandra,datastax,Cassandra,Datastax,我正在centos 6.8上安装cassandra服务器,并更改为公共IP 通过使用方法,但在使用cassandra-f-R启动服务器时它卡住了,我得到了以下错误: ERROR [main] 2019-09-10 11:42:31,684 CassandraDaemon.java:749 - Fatal configuration error org.apache.cassandra.exceptions.ConfigurationException: Unable to bind to a

我正在centos 6.8上安装cassandra服务器,并更改为公共IP 通过使用方法,但在使用cassandra-f-R启动服务器时它卡住了,我得到了以下错误:

ERROR [main] 2019-09-10 11:42:31,684 CassandraDaemon.java:749 - Fatal 
configuration error
org.apache.cassandra.exceptions.ConfigurationException: Unable to bind to 
address /<public ip>:7000. Set listen_address in cassandra.yaml to an 
interface you can bind to, e.g., your private IP address on EC2
    at org.apache.cassandra.net.MessagingService.getServerSockets(MessagingService.java:739) ~[apache-cassandra-3.11.4.jar:3.11.4]
    at org.apache.cassandra.net.MessagingService.listen(MessagingService.java:681) ~[apache-cassandra-3.11.4.jar:3.11.4]
    at org.apache.cassandra.net.MessagingService.listen(MessagingService.java:665) ~[apache-cassandra-3.11.4.jar:3.11.4]
    at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:796) ~[apache-cassandra-3.11.4.jar:3.11.4]
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:683) ~[apache-cassandra-3.11.4.jar:3.11.4]
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:632) ~[apache-cassandra-3.11.4.jar:3.11.4]
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:388) [apache-cassandra-3.11.4.jar:3.11.4]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:620) [apache-cassandra-3.11.4.jar:3.11.4]
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:732) [apache-cassandra-3.11.4.jar:3.11.4]
ERROR[main]2019-09-10 11:42:31684 cassandrademon.java:749-致命
配置错误
org.apache.cassandra.exceptions.ConfigurationException:无法绑定到
地址/:7000。将cassandra.yaml中的listen_地址设置为
您可以绑定到的接口,例如EC2上的专用IP地址
在org.apache.cassandra.net.MessagingService.getServerSockets(MessagingService.java:739)~[apache-cassandra-3.11.4.jar:3.11.4]
在org.apache.cassandra.net.MessagingService.listen(MessagingService.java:681)~[apache-cassandra-3.11.4.jar:3.11.4]
在org.apache.cassandra.net.MessagingService.listen(MessagingService.java:665)~[apache-cassandra-3.11.4.jar:3.11.4]
在org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:796)~[apache-cassandra-3.11.4.jar:3.11.4]
在org.apache.cassandra.service.StorageService.initServer(StorageService.java:683)~[apache-cassandra-3.11.4.jar:3.11.4]
在org.apache.cassandra.service.StorageService.initServer(StorageService.java:632)~[apache-cassandra-3.11.4.jar:3.11.4]
在org.apache.cassandra.service.cassandrademon.setup(cassandrademon.java:388)[apache-cassandra-3.11.4.jar:3.11.4]
在org.apache.cassandra.service.cassandrademon.activate(cassandrademon.java:620)[apache-cassandra-3.11.4.jar:3.11.4]
在org.apache.cassandra.service.cassandrademon.main(cassandrademon.java:732)[apache-cassandra-3.11.4.jar:3.11.4]
我尝试在/cassandra.yaml中进行更改

rpc_address: 0.0.0.0
listen_address: <public ip>
broadcast_rpc_address: <public ip>
rpc_地址:0.0.0.0
收听地址:
广播地址:

但它仍然停留在这一点上

rpc_地址
广播_rpc_地址
是客户端的地址,但您需要配置节间通信

(与OSS Cassandra相同):

  • cassandra.yaml
    中,将
    listen\u地址
    设置为节点的私有IP地址,将
    broadcast\u地址
    设置为节点的公共IP地址。这允许一个EC2区域中的DataStax企业节点绑定到另一个区域中的节点,从而支持多个数据中心。对于区域内流量,DataStax Enterprise在建立连接后切换到专用IP

  • cassandra.yaml
    文件中种子节点的地址设置为公共IP的地址。专用IP不能在网络之间路由。例如:


  • 谢谢。你救了我一天。但是在listen\u地址中,我使用localhost代替我的私有IP。私有IP不起作用。不管怎样,谢谢你的建议。