如何为远程连接配置cassandra

时间:2016-03-21 14:03:17

标签: cassandra cqlsh cassandra-cli nosql

我正在尝试在Windows上配置Cassandra Datastax Community Edition以进行远程连接,

Cassandra Server安装在Windows 7 PC上,使用本地CQLSH,它可以完美地连接到本地服务器。

但是当我尝试从同一网络中的另一台PC连接和CQLSH时,我收到以下错误消息:

  

连接错误:('无法连接到任何服务器',{'MYHOST':   错误(10061,“尝试连接到[('HOST_IP',9042)]。最后一个错误:没有   可以建立连接,因为目标机器主动拒绝   它“)})

所以我想知道如何正确配置(我应该对cassandra.yaml配置文件做什么更改)Cassandra服务器允许远程连接。

提前谢谢!

4 个答案:

答案 0 :(得分:16)

远程访问Cassandra是通过其Cassandra 2.0的旧货端口。在Cassandra 2.0.x中,默认的cqlsh监听端口是9160,由rpc_port参数在cassandra.yaml中定义。默认情况下,Cassandra 2.0.x及更早版本通过在cassandra.yaml文件中将start_rpc配置为true来启用Thrift。

在Cassandra 2.1中,cqlsh实用程序使用本机协议。在使用Datastax python驱动程序的Cassandra 2.1中,默认的cqlsh监听端口是9042。

cassandra节点应绑定到服务器网卡的IP地址 - 它不应该是127.0.0.1或localhost,这是环回接口的IP,绑定到此将阻止直接远程访问。要配置绑定地址,请使用cassandra.yaml中的rpc_address参数。将其设置为0.0.0.0将侦听所有网络接口。

您是否检查过远程计算机是否可以连接到Cassandra节点?机器之间是否有防火墙?您可以尝试以下步骤来测试它:

1)确保您可以从您所在的服务器连接到该IP:

$ ssh user@xxx.xxx.xx.xx

2)检查节点的状态并确认它显示相同的IP:

$ nodetool status

3)运行命令以连接IP(如果未使用默认值,则仅指定端口):

$ cqlsh xxx.xxx.xx.xx

答案 1 :(得分:13)

这个怎么样:

在cassandra.yaml配置文件中进行以下更改:

ws1.Range("g4").formula = "=iferror(vlookup(a4, " & ws2.Range("a2:b" & lastRow2).Address(1, 1, external:=True) & ", 2, false), text(,))"
ws1.Range("g4").copy ws1.Range("g4:G" & lastrow1

参考:https://gist.github.com/andykuszyk/7644f334586e8ce29eaf8b93ec6418c4

答案 2 :(得分:8)

Kat的替代解决方案。使用Ubuntu 16.04

  1. ssh到服务器server_user@**.**.**.**
  2. 如果正在运行,请停止cassandra:

    • 检查是否使用ps aux | grep cassandra
    • 运行
    • 如果正在运行,将输出一大块命令/标志,例如

        

      ubuntu 14018 4.6 70.1 2335692 712080 pts / 2 Sl + 04:15 0:11 java -Xloggc:./../ logs / gc.log ........

      示例中的注释14018是流程ID

    • 停止kill <process_id>(在本例中为14018)
  3. 将cassandra.yaml文件编辑为以下

    • rpc_address: 0.0.0.0
    • broadcast_rpc_address: **.**.**.**&lt; - 您服务器的IP(不能设置为0.0.0.0)
  4. 重新启动cassandra ./bin/cassandra -f(来自cassandra root)
  5. 在本地机器上打开另一个终端&amp;通过cqlsh **.**.**.**(您的服务器的IP)连接进行测试。
  6. ./bin/nodetool status地址报告了我的本地主机IP(127.0.0.1),但cqlsh远程仍然可以工作。

答案 3 :(得分:0)

有关所有cassandra.yaml配置选项的列表和说明,请转到: http://cassandra.apache.org/doc/latest/configuration/cassandra_config_file.html#rpc-address