我将rpc_port设置为公共IP地址,现在我可以从外部服务器连接到Cassandra。
但是,我无法使用cqlsh
从Cassandra服务器本身连接我收到了错误.Thar是:
Connection error: Could not connect to localhost:9160
是否有配置,我可以更改为能够从服务器本身连接?
答案 0 :(得分:20)
cassandra.yaml
rpc_port :
行的= 9160
文件
cassandra
cqlsh 127.0.0.1 9160
:无论如何都应该没问题cqlsh [IP of host] 9160
:如果确定,则cassandra
可以从lan访问,如果正常,则cassandra
无法从lan
访问,只能localhost 127.0.0.1
答案 1 :(得分:8)
您需要通过rpc_address
中定义的cassandra.yaml
连接到cassandra。例如,我使用cqlsh 10.0.80.49 9160
。
答案 2 :(得分:8)
考虑更改/etc/cassandra.yaml
:
# Whether to start the thrift rpc server.
start_rpc: false
到
start_rpc: true
答案 3 :(得分:6)
如果你在cassandra日志中看到这个:
$.ajax({
url:"https://api.themoviedb.org/xxx",
crossDomain: true,
dataType: "jsonp",
dataObj : index,
success: function (response, textStatus, xhr) {
console.log('success');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log('error');
},
statusCode: {
429: function() {
alert( "Exceeded request limit." );
}
}
});
然后只需打开一个终端并
INFO [main] 2015-07-21 12:06:27,426 CassandraDaemon.java:406 - Not starting RPC server as requested. Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it
如INFO消息中所写。现在应该工作。我的系统升级到cassandra 2.2.0
时得到了这个答案 4 :(得分:5)
答案 5 :(得分:4)
首先可以bin/cassandra -f
在本地计算机上启动cassandra吗?
答案 6 :(得分:3)
由于你告诉它仅在127.0.0.1
上收听,所以它不会在<public IP>
上收听。使监听地址0.0.0.0
监听所有地址(或者如果可能则省略它,因为这通常是默认地址)。请参阅Listening Sockets .NET tutorial或任何其他套接字教程,以便基本了解套接字绑定。
更新(@ c45556037):
请注意,listen_address
是其他节点用于连接到此节点的名称(误导性名称)。 rpc_address
是本地绑定到的实际地址。 2.0 docs中不清楚这一点,并在1.0 docs中有更好的解释。
答案 7 :(得分:1)
我在启动cqlsh时面临同样的情况。启动cassandra时出现以下错误
在终端输入---- cassandra -----
它将显示所有jar和日志文件。如果终端挂起,只需从中逃脱,然后输入cqlsh。然后它将进入cassandra cli。
这对我有用
答案 8 :(得分:0)
连接到localhost / 9160的异常。原因:连接被拒绝
连接拒绝cassandra cli模式。
转到cassandra的根目录:
bin/cassandra -- host {host-ip} --port {9160}
如果您遇到此问题,请检查您的{cassandra-root-directory} /conf/cassandra.yaml
thrift ip或rpc_address是用作连接到cli的host-ip的地址。 使其成为您的本地IP,如果您在使用端口9160进行连接时遇到问题,请尝试将rpc_port更改为8070,然后尝试使用命令连接到cassandra-cli模式
bin/cassandra --host {local-IP} --port 8070
这对我有用,希望它也适合你。
答案 9 :(得分:0)
2.0.5
以下适用于我..
$CASSANDRA_HOME/bin/cqlsh xx.xx.xxx.xxx 9160
答案 10 :(得分:0)
请执行以下查询以解决问题
#!/bin/bash
export CASSANDRA_HOME=/opt/apache-cassandra-2.1.8
export CQLSH_HOST=192.168.1.200
export CQLSH_PORT=9042
echo $@
$CASSANDRA_HOME/bin/cqlsh $@'
确保更改cassandra主目录的IP和位置
答案 11 :(得分:0)
使用此命令
sudo service cassandra start
启动cassandra然后使用
cqlsh command
答案 12 :(得分:0)
考虑更改/etc/cassandra-env.sh:
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=true"
not "true" but "false"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=false"
sudo service cassandra restart
答案 13 :(得分:0)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies