由PasswordAuthenticator引起的Cassandra连接超时

时间:2015-11-24 16:53:44

标签: ubuntu cassandra cqlsh

我是Cassandra的新手,我在连接它时遇到了问题。这是详细信息:

  1. 工作环境: Cubie-board A80,运行Ubuntu Linaro 14.04(可从http://dl.cubieboard.org/model/cc-a80/Image/ubuntu-linaro下载)

  2. Cassandra版本: 版本2.1.7(来自http://downloads.datastax.com/community/dsc-cassandra-2.1.7-bin.tar.gz

  3. 问题描述: 运行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',)})

  4. 自检功能 在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已启动。

  5. 知道发生了什么事吗?感谢。

    更新

    尝试在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的人有所帮助。

1 个答案:

答案 0 :(得分:0)

将broadcast_rpc_address设置为本地IP并尝试将rpc_address设置为0.0.0.0