2013-04-14 74 views
0

我想连接到cassandra。我安装了最新的apache-cassandra-1.2.4稳定版本,并将其解压缩到桌面上。当我运行卡桑德拉它建立了很好的倾听节俭客户端和显示如下:Cassandra-Cli拒绝连接

须藤卡桑德拉-f

日志:

INFO 15:30:34,646 Cassandra version: 1.0.12 
INFO 15:30:34,646 Thrift API version: 19.20.0 
INFO 15:30:34,646 Loading persisted ring state 
INFO 15:30:34,650 Starting up server gossip 
INFO 15:30:34,661 Enqueuing flush of [email protected](29/36 serialized/live bytes, 1 ops) 
INFO 15:30:34,661 Writing [email protected](29/36 serialized/live bytes, 1 ops) 
INFO 15:30:34,877 Completed flushing /var/lib/cassandra/data/system/LocationInfo-hd-54-Data.db (80 bytes) 
INFO 15:30:34,892 Starting Messaging Service on port 7000 
INFO 15:30:34,901 Using saved token 143186062733850112297005303551620336860 
INFO 15:30:34,903 Enqueuing flush of [email protected](53/66 serialized/live bytes, 2 ops) 
INFO 15:30:34,904 Writing [email protected](53/66 serialized/live bytes, 2 ops) 
INFO 15:30:35,102 Completed flushing /var/lib/cassandra/data/system/LocationInfo-hd-55-Data.db (163 bytes) 
INFO 15:30:35,106 Node localhost/127.0.0.1 state jump to normal 
INFO 15:30:35,107 Bootstrap/Replace/Move completed! Now serving reads. 
INFO 15:30:35,108 Will not load MX4J, mx4j-tools.jar is not in the classpath 
INFO 15:30:35,150 Binding thrift service to localhost/127.0.0.1:9160 
INFO 15:30:35,155 Using TFastFramedTransport with a max frame size of 15728640 bytes. 
INFO 15:30:35,160 Using synchronous/threadpool thrift server on localhost/127.0.0.1 : 9160 
INFO 15:30:35,168 Listening for thrift clients... 

现在,当我运行:卡桑德拉 - CLI -h本地主机-p 9160,它抛出了错误。我已经检查过港口是免费的,卡桑德拉正在港口聆听。 :

**

org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused 
    at org.apache.thrift.transport.TSocket.open(TSocket.java:183) 
    at org.apache.thrift.transport.TFramedTransport.open(TFramedTransport.java:81) 
    at org.apache.cassandra.cli.CliMain.connect(CliMain.java:80) 
    at org.apache.cassandra.cli.CliMain.main(CliMain.java:256) 
Caused by: java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) 
    at java.net.Socket.connect(Socket.java:579) 
    at org.apache.thrift.transport.TSocket.open(TSocket.java:178) 
    ... 3 more 
Exception connecting to localhost/9160. Reason: Connection refused. 

**

+1

你的日志说'卡桑德拉版本:1.0.12'。你从以前的版本升级过吗?你确定Cassandra开始了吗?它显示在ps和netstat输出?在cassandra.log中是否有任何内容(与您发布的system.log输出相反)? – Richard

+1

尝试'cassandra-cli -h 127.0.0.1 -p 9160'而不是本地主机。它应该表示同样的事情,具体取决于您的主机文件,但可以是一个很好的故障排除步骤。 – phatfingers

+0

解决了问题 - Cassandra服务未运行,因此导致cassandra cli关闭。谢谢! – user1795516

回答

0

卡桑德拉应力的文件似乎是粗略的。也许在适当的时候这将被纠正。截至目前,这个命令为我工作

./cassandra-stress write -node <IP_OF_NODE1> 

一旦这个工作的,我们可以尝试把在其他可选参数来调整我们的命令。

+0

OP的问题是关于传统的cassandra-cli,而不是cassandra-stress。 – Aaron

1

我有同样的错误。现在,它是确定的。

主要问题是配置错误。

我的配置是如下:

我的视觉机器的IP是192.168.11.11.My卡桑德拉被安装到machine.So,我configurate塔尔

listen_address: 192.168.11.11 
rpc_address: 0.0.0.0 
broadcast_rpc_address: 192.168.11.11 

也就是说OK

0

选项1:

Run jps command under root user and kill CassandraDaemon if you will see it. After this you will start Cassandra again. 

选项2:

Try to connect Cassandra with CQL 
    ./cqlsh 10.234.31.232 9042 

最终检查:

An intermediate firewall is blocking the JVM from making the connection. 
An operating system firewall, or antivirus that is causing the problems as well. 

我想你在安装Windows,看起来像防火墙阻止了您的连接。