Ubuntu PasswordAuthenticator导致Cassandra连接超时

Ubuntu PasswordAuthenticator导致Cassandra连接超时,ubuntu,cassandra,cqlsh,Ubuntu,Cassandra,Cqlsh,我是新来的卡桑德拉,我有一个问题连接到它。详情如下: 工作环境: Cubie板A80,运行Ubuntu Linaro 14.04(从下载) 卡桑德拉版本: 版本2.1.7(从) 问题描述: 运行cassandra后,当使用cqlsh连接到它时(通过键入/cqlsh 192.168.10.26-u cassandra-p cassandra),它将超时:连接错误:('cannot connect to any server',{'192.168.10.26':OperationTimedOut('

我是新来的卡桑德拉,我有一个问题连接到它。详情如下:

  • 工作环境: Cubie板A80,运行Ubuntu Linaro 14.04(从下载)

  • 卡桑德拉版本: 版本2.1.7(从)

  • 问题描述: 运行cassandra后,当使用cqlsh连接到它时(通过键入
    /cqlsh 192.168.10.26-u cassandra-p cassandra
    ),它将超时:
    连接错误:('cannot connect to any server',{'192.168.10.26':OperationTimedOut('errors=创建连接超时,last_host=None',))

  • 自我检查: 在cassandra配置文件中,listen_address、rpc_address和broadcast_rpc_address都设置为192.168.10.26,native_transport_port为9042,这是默认值,start_native_transport为true。 我还尝试在没有用户名和密码的情况下运行cqlsh,结果显示:
    连接错误:('cannotconnecttoanyservers',{'192.168.10.26':AuthenticationFailed('Remote end requires authentication',)})
    ,这意味着cassandra已启动

  • 知道发生了什么事吗?谢谢

    更新:

    试图在cqlsh命令中指定9042端口
    尝试将端口号更改为9043
    尝试检查端口号9042:处于“侦听”状态并由java使用
    已尝试检查防火墙状态:未安装ufw

    更新(新): 问题的范围缩小了:是验证器导致了问题,也就是说,如果我使用AllowAllAuthenticator,数据库将被连接而没有问题;如果启用PasswordAuthenticator,则连接超时(使用cassandra/cassandra作为用户名和密码)。我知道这很奇怪,完全相同的设置在我的虚拟机上并没有显示这样的连接问题。 在最新的稳定版本2.2.3中也进行了测试



    到目前为止,问题解决了:最初我在这个立体板上使用OpenJDK,然后我卸载了OpenJDK并将其切换到Oracle Java,这个问题自行解决了。不幸的是,到目前为止,我仍然不知道为什么使用OpenJDK进行身份验证会失败,而使用Oracle则不会。但这种解决方法可能对那些在Cubieboard A80上使用cassandra的人有所帮助。

    将广播rpc\u地址设置为本地IP,并尝试将rpc\u地址设置为0.0.0.0

    将广播rpc\u地址设置为本地IP,并尝试将rpc\u地址设置为0.0.0

    是否检查了cassandra服务器的防火墙是否未阻止端口9042&9160?@Brandon,谢谢你的建议,但是我在这个新的Cubieboard上运行的操作系统版本甚至没有安装ufw。只是为了验证没有环境变量或cqlshrc文件干扰,尝试在命令行
    cqlsh 192.168.10.26 9042-u cassandra-p cassandra
    上指定端口,您从哪里运行
    cqlsh
    ?您是从cassandra服务器本身运行它吗?还是从另一台机器远程?您使用的是哪一版本的
    cqlsh
    cqlsh--version?@Brandon,我在同一台机器和另一台机器上都试过了,没有什么区别。对于cqlsh,我使用的是5.0.1。你检查过你的cassandra服务器的防火墙没有阻止端口9042和9160吗?@Brandon,谢谢你的建议,但是我在这个新的立体板上运行的操作系统版本甚至没有安装ufw。只是为了验证没有环境变量或cqlshrc文件干扰,尝试在命令行
    cqlsh 192.168.10.26 9042-u cassandra-p cassandra
    上指定端口,您从哪里运行
    cqlsh
    ?您是从cassandra服务器本身运行它吗?还是从另一台机器远程?您使用的是哪一版本的
    cqlsh
    cqlsh--version?@Brandon,我在同一台机器和另一台机器上都试过了,没有什么区别。对于cqlsh,我使用5.0.1。在配置文件中,它说“如果rpc_地址设置为0.0.0.0,则必须设置广播_rpc_地址”。我知道-无论如何尝试注释广播_rpc_地址。默认情况下,该值未设置。我尝试过,但在这种情况下cassandra无法启动:致命的配置错误;无法启动。对不起,我弄错了。将广播_rpc_地址设置为本地IP地址,将rpc_地址设置为0.0.0.0。注释掉广播地址在c*2.0.8中起作用,但在2.1.7中不起作用。system.log是否有任何有用的错误?只是完全按照您所说的做了,在连接时仍然超时。日志文件是正常的,以侦听thrift客户端结束…此外,我在cofig中更改了超时设置,但它没有帮助。在配置文件中,它说“如果rpc_地址设置为0.0.0.0,则必须设置广播_rpc_地址”。我知道-无论如何尝试注释广播_rpc_地址。默认情况下,该值未设置。我尝试过,但在这种情况下cassandra无法启动:致命的配置错误;无法启动。对不起,我弄错了。将广播_rpc_地址设置为本地IP地址,将rpc_地址设置为0.0.0.0。注释掉广播地址在c*2.0.8中起作用,但在2.1.7中不起作用。system.log是否有任何有用的错误?只是完全按照您所说的做了,在连接时仍然超时。日志文件是正常的,以侦听thrift客户端结束…另外,我在cofig中更改了超时设置,但没有帮助。