我正在尝试使用OpenJDK 1.8在Ubuntu 15.10上设置测试Cassandra 3.3群集。节点无法相互通信,因为Cassandra只监听环回接口,如netstat
所示。
tcp 0 0 127.0.0.1:7199 0.0.0.0:* LISTEN
tcp6 0 0 127.0.0.1:9042 :::* LISTEN
我试图在/etc/cassandra/cassandra.yml中插入我的外部IP地址。
listen_address
:我尝试了实际的外部IP地址,并将该字段留空。
rpc_address
:我尝试了实际的外部IP地址和0.0.0.0。
我也尝试在/etc/cassandra/cassandra-env.sh中修改以下内容。
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<actual external IP address>"
在每次更改之间我停止服务,删除/ var / lib / cassandra / data / system,然后重启服务。
如何配置Cassandra监听的接口?
答案 0 :(得分:4)
rpc_address
是外部应用客户端用于连接Cassandra的地址。
listen_address
是Cassandra用于连接其他Cassandra节点的地址。
我会确保您的节点可以在该IP上进行通信。具体来说,Cassandra将使用端口 7000 进行节点间通信(如果使用节点到节点SSL则为7001)。测试这个的最好方法是使用telnet。如果有效,您将会看到:
$ telnet 192.168.0.101 7000
Trying 192.168.0.101...
Connected to 192.168.0.101.
Escape character is '^]'.
所以我会:
listen_address
中看到的IP。