【问题标题】:facing connection error when trying to open cqlsh prompt尝试打开 cqlsh 提示时遇到连接错误
【发布时间】:2016-03-08 19:15:28
【问题描述】:

可以帮助我为什么我会遇到以下问题,以及当我尝试启动我的 cqlsh (cassandra) 时如何解决。

Connection error: ('Unable to connect to any servers', 
{'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. 
Last error: Connection refused")})

当我输入以下命令时:

sudo service cassandra status
cassandra (pid  1xxxx) is running...

这表明我的 cassandra 运行正常。 但无法运行cqlsh。但是昨天能够运行没有任何问题。

来到我的 cassandra.yaml 文件

我的种子、listen_address 和 rpc_address 都设置为我的公共 IP 地址 10.x.xx.xxx。

native_transport_port: 9042

我正在使用单节点集群。

【问题讨论】:

  • 你用的是哪个版本?
  • 我使用的是 cassandra 2.1
  • 您是否尝试过运行“nodetool status”以确保本地节点已启动并正常运行?
  • 当我运行 nodetool status ~]# nodetool status Datacenter: datacenter1 ===================== == Status=Up/Down |/ State=Normal/Leaving/Joining/Moving - 地址加载令牌拥有主机 ID 机架 UN 10.xxxxx 289.58 KB 256? 65e1133a-c5c3-4ca5-b8bb-357ca4fdb92c 机架1

标签: cassandra bigdata cqlsh nosql


【解决方案1】:

你是如何启动 cqlsh 的?如果希望它连接到 127.0.0.1 以外的地址,则需要指定它。具体来说,你应该试试你在 yaml 中设置的 10.x.xx.xxx 地址。

$ cqlsh 10.x.xx.xxx

您是否为listen_interfacerpc_interface 指定了任何内容?请记住,您可以设置地址或接口,但不能同时设置。

要确定确定 Cassandra 正在监听哪个地址,请检查您的 system.log 文件:

$ grep listening /var/log/cassandra/system.log
INFO  [main] 2015-12-03 21:06:27,581 Server.java:182 - Starting listening for CQL clients on /192.168.0.100:9042...

假设一切配置正确,并且您在启动过程中没有任何错误,那么返回的地址就是您在启动 cqlsh 时应该提供的地址。

另外,您是否尝试从同一台机器进行连接?或者您是否正在尝试远程连接到您的单个节点?或者您的 Cassandra 节点是否在您机器上的虚拟机上运行?仔细检查您的防火墙规则,并确保 9042 上的流量可以从您的客户端到达您的节点。

【讨论】:

  • 是的,我试过了,但没有运气,仍然遇到同样的问题。请帮忙
  • 我已经安装了 cassandra 2.1。我以前工作正常,但现在不行了
  • 嗨,我终于可以解决这个问题了。运行 netstat -tuplen 命令,发现地址是 ---> ::ffff:10.xxxxx:9042 。所以运行 cqlsh ::ffff:10.xxxxx:9042 并开始工作...... :)
【解决方案2】:

当我运行$ grep listening /var/log/cassandra/system.log时,我得到了以下输出

INFO  [main] 2015-12-02 12:49:20,334 Server.java:182 - Starting listening for CQL clients on localhost/127.0.0.1:9042...
INFO  [StorageServiceShutdownHook] 2015-12-02 15:59:11,730 ThriftServer.java:142 - Stop listening to thrift clients
INFO  [StorageServiceShutdownHook] 2015-12-02 15:59:11,771 Server.java:213 - Stop listening for CQL clients
INFO  [main] 2015-12-02 17:21:28,775 Server.java:182 - Starting listening for CQL clients on /10.x.x.xxx:9042...
INFO  [StorageServiceShutdownHook] 2015-12-03 17:12:12,840 ThriftServer.java:142 - Stop listening to thrift clients
INFO  [StorageServiceShutdownHook] 2015-12-03 17:12:12,882 Server.java:213 - Stop listening for CQL clients
INFO  [main] 2015-12-03 17:12:41,337 Server.java:182 - Starting listening for CQL clients on /10.x.x.xxx:9042...
INFO  [StorageServiceShutdownHook] 2015-12-03 17:33:35,996 ThriftServer.java:142 - Stop listening to thrift clients
INFO  [StorageServiceShutdownHook] 2015-12-03 17:33:36,100 Server.java:213 - Stop listening for CQL clients
INFO  [main] 2015-12-03 17:34:00,741 Server.java:182 - Starting listening for CQL clients on /10.x.x.xxx:9042...

我也在尝试通过 VPN 进行远程连接。我正在使用 openstack。如何检查防火墙问题?

编辑:

终于可以解决这个问题了。跑netstat -tuplen命令,发现地址是::ffff:10.x.x.xxx:9042

于是运行cqlsh ::ffff:10.x.x.xxx:9042,它开始工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多