【问题标题】:Could not connect to cassandra with cqlsh无法使用 cqlsh 连接到 cassandra
【发布时间】:2016-02-14 22:18:19
【问题描述】:

我想连接到 cassandra,但收到此错误:

$ bin/cqlsh
Connection error: ('Unable to connect to any servers', {'192.168.1.200': error(10061, "Tried connecting to [('192.168.1.200', 9042)]. Last error: No connection could be made because the target machine actively refused it")})

【问题讨论】:

  • 我读过,但它们不适合我。
  • @Hadi 如果您仍然对此感兴趣,我找到了适合我的解决方案。有完全相同的错误消息。

标签: cassandra connection


【解决方案1】:

很简单。

机器主动拒绝,因为您的系统上没有运行 cassandra。按照以下步骤彻底摆脱这个麻烦:

  1. 从 DataStax 安装 Cassandra(Datastax-DDC;Cassandra 版本 3)。
  2. 转到~\installation\path\DataStax-DDC\apache-cassandra\bin
  3. 在那里打开cmd。 (如果您使用的是 Windows 8 或更高版本,请使用 Alt+F+P 打开它)。
  4. 输入cassandra -f这会在窗口上产生很多东西,你必须得到最后一行INFO 11:32:31 Created default superuser role 'cassandra'
  5. 现在在同一文件夹中打开另一个 cmd 窗口。
  6. 输入cqlsh

这应该会给你一个提示,没有任何错误。

我还发现 如果我使用 cassadra v2.x 时不会弹出此错误,请参见 Archived version of Cassandra我不知道为什么:((如果你发现了请评论)。

因此,如果上述步骤不起作用,您可以随时返回到 Cassandra v2.x。

干杯。

【讨论】:

  • 你太棒了,你节省了很多时间,几乎浪费了一天:)
  • @MeganFox 随时为您提供帮助 :)
【解决方案2】:

检查您是否已启动 Cassandra 服务器,然后提供 hostport 作为参数。

$ bin/cqlsh 127.0.0.1 4092

【讨论】:

  • 不,它出错了,我应该为 cassandra 安装 thrift 吗??
  • @Hadi 你不需要安装 Thrift,因为 CQL 没有使用 Thrift。你能更清楚什么错误吗?
  • 这是我的错误:$ cqlsh 连接错误:('无法连接到任何服务器',{'127.0.0.1':错误(10061,“尝试连接到[('127.0.0.1' , 9042)]。最后一个错误:无法建立连接,因为目标机器主动拒绝它")})
  • 此视频安装 cassandra 已安装节俭:youtube.com/watch?v=gNxgviqDLCs
【解决方案3】:

我遇到了同样的问题。这对我有用。

转到任何目录,例如 E:\(不必是与 cassandra 安装相同的光盘)

创建以下目录

E:\cassandra\storage\commitlogs
E:\cassandra\storage\data
E:\cassandra\storage\savedcaches

然后转到您的 cassandra 安装 conf 路径。就我而言。

D:\DataStax-DDC\apache-cassandra\conf

打开 cassandra.yaml。编辑包含:data_file_directories, commitlog_directory, saved_caches_directory 的行,使其看起来像下面的代码(根据您创建文件夹的位置相应地更改路径)

data_file_directories:
    - E:\cassandra\storage\data

commitlog_directory: E:\cassandra\storage\commitlog

saved_caches_directory: E:\cassandra\storage\savedcaches

然后打开你的 cassandra 安装bin 路径的 cmd(我以管理员身份执行,但没有检查是否有必要)。就我而言。

D:\DataStax-DDC\apache-cassandra\bin

运行cassandra -f

大量内容将记录到您的屏幕上。 您现在应该可以毫无问题地运行 cqlsh 和所有其他内容了。

编辑:操作系统是 windows10 64bit

Edit2:如果它在一段时间后停止工作,请使用 nodetool status 检查服务是否正在运行。如果不遵循this 的指令。

【讨论】:

    【解决方案4】:

    我在 Win32 windows 7 机器上也遇到了同样的问题。

    1. 检查您是否正确安装了 JAVA 并设置了 JAVA_HOME 变量。
    2. 检查 java 安装并设置 JAVA_HOME 后,卸载 Cassandra 并重新安装。

    希望这能解决问题。经过以上两步,我的问题就解决了。

    【讨论】:

      【解决方案5】:

      您需要提及 hostuserpassword 以进行 cassandra cqlsh 连接。默认 cassandra cqlsh usercassandra 并且 passwordcassandra

      $ bin/cqlsh <host> -u cassandra -p cassandra
      

      【讨论】:

        【解决方案6】:

        我也有同样的问题。我应用了 google 和 youtube 上给出的许多方法,但没有一个对我有用。最后,我应用了以下 3 个步骤,并且在我的情况下有效:-

        1. 在 C 或 D(无论是您的系统驱动器)中创建一个没有任何空格的文件夹。例如:- C:\cassandra
        2. 在此文件夹中安装 Cassandra,而不是安装在“Program Files”中。 安装后会是这样-C:\cassandra\apache-cassandra-3.11.6
        3. 复制安装在bin文件夹中的python 2.7,即C:\cassandra\apache-cassandra-3.11.6\bin

        现在您的程序可以开始工作了。

        【讨论】:

          【解决方案7】:

          连接cqlsh没有什么特别的方法,简单如下:-

          $ bin/cqlsh 127.0.0.1(host IP) 9042 或 $ bin/cqlsh 127.0.0.1(host IP) 9160(如果是旧版本的 Cassandra)

          如果您将 cqlsh 连接到远程主机,请不要忘记检查端口连接。如果您默认启用它,您也可以使用用户名/密码。

          【讨论】:

            猜你喜欢
            • 2016-04-11
            • 2015-02-05
            • 1970-01-01
            • 2018-08-12
            • 2015-11-22
            • 2016-01-05
            • 2014-07-21
            • 2016-12-17
            • 2022-10-25
            相关资源
            最近更新 更多