cassandra - 当 cassandra 似乎正在运行和收听但 cqlsh 无法连接时,我应该尝试什么?
问题描述
我是 Cassandra 的新手,正在尝试。尽管 Cassandra 显然正在运行和聆听(根据lsof
),但我无法连接到它。sudo systemctl status cassandr
还报道active (running)
。
$ sudo lsof -Pnl +M -i4
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
(omitting unrelated services - nothing here about cassandra)
$ sudo lsof -Pnl +M -i6
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 752 0 4u IPv6 16234 0t0 TCP *:22 (LISTEN)
java 23659 300 68u IPv6 158110 0t0 TCP 127.0.0.1:7199 (LISTEN)
java 23659 300 69u IPv6 158122 0t0 TCP 127.0.0.1:36921 (LISTEN)
java 23659 300 84u IPv6 158212 0t0 TCP 127.0.0.1:9160 (LISTEN)
java 23659 300 151u IPv6 158205 0t0 TCP 127.0.0.1:7000 (LISTEN)
$ sudo nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Owns (effective) Host ID Token Rack
UN 127.0.0.1 125.98 KiB 100.0% e0bbc831-8686-43a6-b99c-8ea5596c8581 3840369556391221198 rack1
对于可能正在阅读本文的 Nix 用户(对于非 Nix 用户也很容易掌握),我的配置只是:
services.cassandra = {
enable = true;
listenAddress = "127.0.0.1";
rpcAddress = "127.0.0.1";
};
我得到的错误是:
$ cqlsh 127.0.0.1 9160
Connection error: ('Unable to connect to any servers', {'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9160)]. Last error: Connection refused")})
解决方案
通过 cqlsh 连接时尝试使用 native_transport_port 9042 而不是 rpc_port 9160。
cqlsh 127.0.0.1 9042
如果您仍然收到此错误,请按照链接this和this检查您的 Cassandra 配置
推荐阅读
- r - R中具有3个参数(4d)的绘图函数
- apache-spark - Spark中的RDD和Dataframe有什么区别?
- python - 无法在 Flask 中获取 ImmutableMltiDict 中的所有元素
- python - 如何将列表中的所有项目一一删除并在删除后同时打印
- c++ - 折叠表达式、参数包扩展、类成员函数中的递归
- javascript - 检查map中是否存在key
- java - 回滚多个服务
- crystal-reports - 如何在水晶报表中使用公式显示和隐藏 LineObject?
- c# - HttpClient - 任务被取消
- tomcat - Intellij-IDEA 可以在 tomcat 中启动和调试 jersey 应用程序,但是将战争部署到 tomcat 得到 404