2015-04-04 242 views
0

我在CentOS 6.6上使用VPS。Cassandra拒绝连接

两天来我试着启动我已经安装的Cassandra。

它的CLI只是不工作,给我错误。我尝试了所有在线解决方案,但都没有成功。

[email protected] [/etc/cassandra/conf]# cassandra-cli -h localhost 
org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused 
     at org.apache.thrift.transport.TSocket.open(TSocket.java:185) 
     at org.apache.thrift.transport.TFramedTransport.open(TFramedTransport.java:81) 
     at org.apache.cassandra.thrift.TFramedTransportFactory.openTransport(TFramedTransportFactory.java:41) 
     at org.apache.cassandra.cli.CliMain.connect(CliMain.java:65) 
     at org.apache.cassandra.cli.CliMain.main(CliMain.java:237) 
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:392) 
     at java.net.Socket.connect(Socket.java:579) 
     at org.apache.thrift.transport.TSocket.open(TSocket.java:180) 
     ... 4 more 
Exception connecting to localhost/9160. Reason: Connection refused. 
Welcome to Cassandra CLI version 2.0.14 

The CLI is deprecated and will be removed in Cassandra 3.0. Consider migrating to cqlsh. 
CQL is fully backwards compatible with Thrift data; see http://www.datastax.com/dev/blog/thrift-to-cql3 

Type 'help;' or '?' for help. 
Type 'quit;' or 'exit;' to quit. 

[[email protected]] 

我自己也尝试cqlsh它给类似的错误:

[email protected] [/etc/cassandra/conf]# cqlsh 
Connection error: Could not connect to localhost:9160 

请帮助。

+2

你对remote_address和listen地址的配置是什么? – jny 2015-04-04 12:29:25

+0

rpc_address和listen_address都是localhost。我尝试了更多的组合。顺便说一下,我的VPS IP是静态的。你有什么建议?预先感谢您的帮助。 – EresDev 2015-04-04 12:34:21

回答

0

问题是Java。

它需要Oracle Java。我正在使用Open Java。

将Java更改为Oracle Java后,它工作正常。

+0

卡桑德拉还没有开始呢? Cassandra的确使用OpenJDK运行,但是Java的版本可能很重要(即Java 6不能与Cassandra 2.0+一起使用) – 2015-04-04 19:30:36

+0

是的,它是Java 6.但是我已经尝试过Cassandra 1和2两个都没有人工作。有很多关于更改rpc_address和listen_address的错误信息,但这些信息浪费了大部分时间。它的工作没有触及这些地址。 – EresDev 2015-04-04 22:54:51

0

cassandra可能存在许多问题,不允许连接。 1)基本检查cassandra是否正在运行 - 服务cassandra状态 2)如果使用cassandra 2.0或更高版本,请确保它在oracle java7而不是java6上运行 3)在cassandra.yaml中检查你的rpc_address和listen_address设置 4)确保防火墙没有阻塞cassandra所需的任何端口。