【问题标题】:couldn't connect to server in cassandra on centos6.9在centos6.9上无法连接到cassandra中的服务器
【发布时间】:2017-09-13 00:47:21
【问题描述】:

我正在使用带有 centos 6.9 的 VPS。我是卡桑德拉的新手。我已经使用以下链接安装了 cassandra 3.0:

https://docs.datastax.com/en/cassandra/3.0/cassandra/install/installRHEL.html

但是当尝试使用 python cassandra-driver 连接 cassandra 时:

from cassandra.cluster import Cluster
def get_cluster_connection_session():
    cluster = Cluster(['127.0.0.1',], port=9042)
    session = cluster.connect()
    return session

它给了我以下错误:

cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})

1) python --version 给我以下输出:

Python 2.7.6

2) java -version 给我以下输出:

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

3) sudo service cassandra status 给我:

cassandra (pid  15193) is running...

我需要对 cassandra.yaml 文件进行任何更改吗?如果是,你能告诉我我需要在 cassandra.yaml 文件中进行哪些更改吗?

那么有人可以帮我解决这个问题吗?

谢谢。

【问题讨论】:

  • 您尝试过 telnet 吗? telnet 127.0.0.1 9042 连接被拒绝已经告诉你有东西在那个端口上监听但不接受连接。
  • 您可以运行nodetool status 看看您的集群发生了什么吗?
  • @questionare,我试过 telnet 127.0.0.1 9042,它给了我以下输出:` Trying 127.0.0.1...' ' telnet: connect to address 127.0.0.1: Connection denied '
  • @MarkoŠvaljek 不知何故 nodetool status 不起作用.. 给我以下输出:`错误:节点还没有 system_traces,可能仍在引导'
  • 你在 cassandra 的 system.log 中看到了什么吗?看起来您的实例可能还没有启动。

标签: python cassandra centos6


【解决方案1】:

这里或多或少都有描述:

https://stackoverflow.com/a/34063341/7413631

按照答案中的步骤进行操作,如果您遇到困难,请告诉我。

将选项添加到cassandra-env.sh 文件。

JVM_OPTS="$JVM_OPTS -Djava.io.tmpdir=/home/cassandra/tmp"

还要确保 /home/cassandra/tmp 已创建并且 cassandra 进程对其拥有所有权限。

【讨论】:

  • 感谢它有效。但我仍然无法打开 cqlsh.. 它给了我以下错误。回溯(最后一次调用):文件“/usr/bin/cqlsh.py”,第 163 行,在 from cqlshlib import cql3handling, cqlhandling, pylexotron, sslhandling ImportError: No module named cqlshlib
  • stackoverflow.com/questions/35197362/…抱歉耽搁了不得不照顾宝宝;)
  • 抱歉回复晚了。我已经浏览了您提供的链接,但是当我使用 pip install cqlsh 安装 cqlsh 时。 cqlsh 已打开但无法连接到任何服务器,这给了我之前遇到的相同错误。但没有 cqlsh,cassandra 工作正常。我可以将数据插入表格。但仍然存在 cqlsh 问题。安装后我需要重新启动cassandra吗?因为我已经停止了 cassandra 服务并在安装后再次启动了该服务。
  • 如果 Cassandra 正在运行,那么 cqlsh 也应该能够连接。所以基本上即使在安装cqlsh 之后,你也会得到No module named cqlshlib。嗯,我会尝试重新启动整个机器,但是作为确认错误仍然是 100% 相同?你能提供你如何使用 cqlsh 即命令行调用吗?
  • 不,我没有收到错误No module named cqlshlib。我收到Unable to connect to any servers。并开始cqlsh,我只是在命令提示符下写cqlsh
猜你喜欢
  • 2012-07-24
  • 2017-11-08
  • 2011-06-06
  • 2016-01-05
  • 2016-03-02
  • 2018-10-12
  • 2021-09-08
  • 1970-01-01
  • 2016-12-17
相关资源
最近更新 更多