【问题标题】:Cassandra 3.3 - Remote connection via cqlshCassandra 3.3 - 通过 cqlsh 进行远程连接
【发布时间】:2016-06-24 23:59:42
【问题描述】:

我在尝试从网络中的另一台机器远程连接到 Centos 7 上的 Cassandra 3.3.0 时遇到了一些问题。尝试通过连接时返回“超时”错误

$ cqlsh 192.168.1.56 9042

同理:

$ cqlsh 192.168.1.56

在我看来,我已经正确配置了 cassandra.yaml 文件,因为当我尝试使用活动的 Cassandra 实例连接到本地运行的 VM (Ubuntu) 时它工作正常。

当我检查通过netstat -lnt绑定的IP和端口时,它正在返回

tcp6   0   0   192.168.1.56:9042   :::*    Listen

实际上是唯一绑定到 tcp6 的。 192.168.1.56:9160 绑定到 tcp。

在 Ubuntu 上运行,它返回相同的绑定到 tcp。所以我猜这个故障与那一点有关。

一些背景事实:

  • 我以 root 身份运行 Cassandra。服务器和客户端都在运行 cqlsh 5.0.1、CQL 规范 3.4.0 和 Cassandra 3.3.0。 Python 2.7.5。
  • VM 可以通过192.168.1.56 毫无问题地访问。防火墙已停用,我什至尝试停用并重新激活 IPv6。我尝试了配置cassandra.yaml 的不同组合——例如直接使用接口而不是其IP,但结果没有变化。

到目前为止,我的所有研究都没有成功。有人有想法吗?!

【问题讨论】:

  • 你是如何连接的?编辑您的帖子并添加您正在使用的远程 cqlsh 命令。它应该看起来像这样 $ cqlsh xxx.xxx.xxx.xxx 没有端口,除非您配置了非默认端口。还有你在运行什么版本的 cqlsh 和 Python
  • 已添加远程 cqlsh 命令。我都试过了 - 有和没有端口声明。服务器和客户端都在运行 cqlsh 5.0.1、CQL 规范 3.4.0 和 Cassandra 3.3.0。 2.7.5 中的 Python
  • cqlsh 应该在 9160 而不是 9042 使用 thrift。运行这些命令并将结果放在原始帖子中。 $ sudo netstat -p | grep 9160 并运行 $sudo netstat -p | grep:9042。如果 9160 返回 null 那是你的问题。另外,你的 cassandra 日志是怎么说的?
  • @apesa,他没有提到节俭。正确的端口是9042 如问题所示?!

标签: cassandra centos7 cassandra-3.0


【解决方案1】:

由于网络配置错误,问题已解决。 我在 /etc/ssh/sshd_config

中更改了以下配置

端口 22

AddressFamily inet

监听地址 0.0.0.0

收听地址::

我已将 AddressFamily 从“any”更改为“inet”。

【讨论】:

  • 我建议编辑 cassandra-env.sh 并取消注释这一行:JVM_OPTS="$JVM_OPTS -Djava.net.preferIPv4Stack=true"
猜你喜欢
  • 2018-08-12
  • 2014-12-18
  • 2021-11-21
  • 2015-11-28
  • 1970-01-01
  • 2018-04-12
  • 2015-02-05
  • 2010-10-17
  • 2015-03-04
相关资源
最近更新 更多