我是Cassandra的新手,我在连接它时遇到了问题。这是详细信息:
工作环境: Cubie-board A80,运行Ubuntu Linaro 14.04(可从http://dl.cubieboard.org/model/cc-a80/Image/ubuntu-linaro下载)
Cassandra版本: 版本2.1.7(来自http://downloads.datastax.com/community/dsc-cassandra-2.1.7-bin.tar.gz)
问题描述:
运行cassandra后,当使用cqlsh连接到它时(通过键入./cqlsh 192.168.10.26 -u cassandra -p cassandra
),它将超时:Connection error: ('Unable to connect to any servers', {'192.168.10.26': OperationTimedOut('errors=Timed out creating connection, last_host=None',)})
自检功能
在cassandra配置文件中,listen_address,rpc_address和broadcast_rpc_address都设置为192.168.10.26,native_transport_port为9042,这是默认值,start_native_transport为true。
我还尝试在没有用户名和密码的情况下运行cqlsh,它显示:
Connection error: ('Unable to connect to any servers', {'192.168.10.26': AuthenticationFailed('Remote end requires authentication.',)})
,表示cassandra已启动。
知道发生了什么事吗?感谢。
更新
尝试在cqlsh命令中指定9042端口;
尝试将端口号更改为9043;
尝试检查端口号9042:处于状态' LISTEN'并由java使用;
尝试检查防火墙状态:没有安装ufw
Update_new: 问题缩小:它是导致问题的验证者,即如果我使用AllowAllAuthenticator,数据库将连接没有问题;如果我启用PasswordAuthenticator,则连接超时(使用cassandra / cassandra作为user_name和passwd)。我知道这很奇怪,我的虚拟机上完全相同的设置没有显示这样的连接问题。 还在最新的稳定版本2.2.3中进行了测试。
到目前为止,问题已解决:最初我在这个Cubieboard上使用OpenJDK,然后我卸载了OpenJDK并将其切换到Oracle Java,这个问题自己解决了。不幸的是,就目前而言,我仍然不知道为什么使用OpenJDK验证失败但使用Oracle不会。但是这种解决方法可能对那些在Cubieboard A80上使用cassandra的人有所帮助。
答案 0 :(得分:0)
将broadcast_rpc_address设置为本地IP并尝试将rpc_address设置为0.0.0.0