让Cassandra正确地听9042

时间:2016-12-29 04:26:52

标签: cassandra

我只想让一个Cassandra节点运行并从远程服务器连接。

lsof -i :9042
COMMAND   PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    22089 cassandra  137u  IPv4  80564      0t0  TCP cassansra.sucks.com:9042 (LISTEN)

在Cassandra服务器上:

sudo nodetool status 
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens       Owns (effective)  Host ID                               Rack
UN  xxx.xxx.xxx.xxx  202.28 KiB  256          100.0%            6e485a3c-7e0f-452c-8545-77380f21daa0  rack1

我想要的是9042收听IP地址。我在cassandra.yaml文件中有以下内容:

  rpc_address: xxx.xxx.xxx.xxx

我正在使用Cassandra 3.x。

2 个答案:

答案 0 :(得分:1)

-e CASSANDRA_RPC_ADDRESS-e CASSANDRA_START_RPC=true - 如果我们设置这两个选项,它将能够从外部计算机连接9042端口。

你能打印/var/log/cassandra/system.log,所以我们应该能够看到输出错误的原因。你在使用Docker吗?如果是,请使用以下详细信息:https://hub.docker.com/_/cassandra/。即使它不是Docker,选项也保持不变。

答案 1 :(得分:0)

由于nodetool status正常。

请检查cassandra守护程序是否正在侦听本机传输端口(默认值:9042)。

如果cassandra守护程序 NOT 正在侦听本机传输端口,请执行以下命令:

nodetool enablebinary