尝试打开cqlsh提示时遇到连接错误

时间:2015-12-03 23:46:43

标签: cassandra bigdata cqlsh nosql

有些人可以帮助我,为什么我面临以下问题,以及当我尝试启动我的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

我正在使用单节点群集。

2 个答案:

答案 0 :(得分: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节点是否在您计算机上的VM上运行?仔细检查您的防火墙规则,并确保9042上的流量可以从您的客户端传输到您的节点。

答案 1 :(得分:1)

当我运行$ 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并开始工作了。