有些人可以帮助我,为什么我面临以下问题,以及当我尝试启动我的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
我正在使用单节点群集。
答案 0 :(得分:1)
你是如何开始使用cqlsh的?如果要将其连接到127.0.0.1以外的地址,则需要指定它。具体来说,您应该尝试在yaml中设置的10.x.xx.xxx地址。
$ cqlsh 10.x.xx.xxx
您是否为listen_interface
或rpc_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
并开始工作了。