【发布时间】: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