我正在centos 6.8上安装cassandra服务器并更改为公共IP 通过使用https://stackoverflow.com/a/17164723/10206109方法,但是用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]
我尝试更改/cassandra.yaml
rpc_address: 0.0.0.0
listen_address: <public ip>
broadcast_rpc_address: <public ip>
但是它仍然停留在这一点
答案 0 :(得分:0)
rpc_address
和broadcast_rpc_address
是客户端的地址,但是您需要配置节点间通信。
DataStax documentation says(与OSS Cassandra相同):
在
cassandra.yaml
中,将listen_address
设置为节点的私有IP地址,并将broadcast_address
设置为公共节点的IP地址。这允许一个EC2区域中的DataStax Enterprise节点绑定到另一区域中的节点,从而实现对多个数据中心的支持。对于区域内流量,DataStax Enterprise在建立连接后会切换到专用IP。将
cassandra.yaml
文件中种子节点的地址设置为公共IP 的地址。 私有IP在网络之间不可路由。例如: