Cassandra 说监听 9042 端口但无法连接
Cassandra Says Listening on Port 9042 But Couldn't Connect It
我的本地机器上有 运行 cassandra。
我已经开始了 sudo service cassandra start
。然后检查 var/log/cassandra/system-log
下的日志,上面写着:
INFO [main] 2019-07-28 13:13:17,226 Server.java:162 - Starting listening for CQL clients on localhost/127.0.0.1:9042 (unencrypted)...
INFO [main] 2019-07-28 13:13:17,270 CassandraDaemon.java:501 - Not starting RPC server as requested. Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it
INFO [SharedPool-Worker-1] 2019-07-28 13:13:27,133 ApproximateTime.java:44 - Scheduling approximate time-check task with a precision of 10 milliseconds
INFO [OptionalTasks:1] 2019-07-28 13:13:27,298 CassandraRoleManager.java:339 - Created default superuser role 'cassandra'
然后我尝试在终端中连接 cqlsh
,它说:
Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})
怎么了?我也无法使用 netstat -tulpn
命令看到 9042 端口。
- 转到/etc/cassandra/cassandra-env.sh
取消注释
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"
并将其更改为
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname==localhost"
- 将 listen_address 和 broadcast_rpc_address 设置为本地 ip(从 ifconfig 获取 ip 地址)。
- 重新启动 Cassandra。
cqlsh localhost 9042
如果您不更改 cassandra.yml 文件,这将有效。
我的本地机器上有 运行 cassandra。
我已经开始了 sudo service cassandra start
。然后检查 var/log/cassandra/system-log
下的日志,上面写着:
INFO [main] 2019-07-28 13:13:17,226 Server.java:162 - Starting listening for CQL clients on localhost/127.0.0.1:9042 (unencrypted)...
INFO [main] 2019-07-28 13:13:17,270 CassandraDaemon.java:501 - Not starting RPC server as requested. Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it
INFO [SharedPool-Worker-1] 2019-07-28 13:13:27,133 ApproximateTime.java:44 - Scheduling approximate time-check task with a precision of 10 milliseconds
INFO [OptionalTasks:1] 2019-07-28 13:13:27,298 CassandraRoleManager.java:339 - Created default superuser role 'cassandra'
然后我尝试在终端中连接 cqlsh
,它说:
Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})
怎么了?我也无法使用 netstat -tulpn
命令看到 9042 端口。
- 转到/etc/cassandra/cassandra-env.sh
取消注释
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"
并将其更改为
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname==localhost"
- 将 listen_address 和 broadcast_rpc_address 设置为本地 ip(从 ifconfig 获取 ip 地址)。
- 重新启动 Cassandra。
cqlsh localhost 9042
如果您不更改 cassandra.yml 文件,这将有效。