我知道这可能是基本问题,但是由于我是cassandra的新手,并且未在任何地方找到解决方案,因此当我尝试在DataStax Dev Center中建立与cassandra服务器的连接时,它给了我下面的例外。
>下面是系统配置:
操作系统:Windows 10 pro(64位)
apache-cassandra-3.11.2
下面是cassandra.yaml配置:
start_native_transport: true
broadcast_rpc_address: 1.2.3.4
native_transport_port_ssl: 9142
listen_address: 192.168.2.22
rpc_address: 192.x.x.x
我已经在cassandra.yaml文件中进行了这些更改:start_rpc: true rpc_port: 9042
在cmd上运行以下命令时:nodetool -h localhost -p 9042 status
遇到此错误:Failed to connect to 'localhost:9042' - ConnectIOException: 'non-JRMP server at remote endpoint'.
任何帮助将不胜感激。
答案 0 :(得分:1)
似乎您已将native-transport-port配置为:9142,但您尝试使用dev center连接到9042端口。请更正并验证。
答案 1 :(得分:1)
您已将rpc(rpc_port)设置为使用与cql(native_transport_port)相同的端口。您确定要使用rpc吗?这是旧的不推荐使用的接口,除非为了向后兼容而需要,否则不应该使用它。
如果您确实想使用rpc,则它必须是native_transport_port之外的另一个端口。
答案 2 :(得分:1)
您应该为nodetool使用jmx端口(默认为7199)
答案 3 :(得分:1)
我已经找到了这个问题的答案,以下是首次安装Cassandra之后需要进行配置的配置:
broadcast_rpc_address: 192.168.2.22(ip address of system on which Cassandra is installed
rpc_address: 0.0.0.0