【问题标题】:cassandra nodetool : Failed to connect to '127.0.0.1:7199'cassandra nodetool:无法连接到“127.0.0.1:7199”
【发布时间】:2019-01-09 20:11:34
【问题描述】:

我在 centos7 和 vmware 上安装了 cassandra 3.11.3-1

我在安装 cassandra 时没有出错。 我启动了 cassandra 并面对这些日志。

[root@localhost ~]# service cassandra start
Starting cassandra (via systemctl):                        [  OK  ]

[root@localhost ~]# systemctl status cassandra
cassandra.service - LSB: distributed storage system for structured data
Loaded: loaded (/etc/rc.d/init.d/cassandra; bad; vendor preset: disabled)
Active: deactivating (stop) (Result: exit-code) since 2018-08-02 15:15:45 
KST; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 10366 ExecStart=/etc/rc.d/init.d/cassandra start (code=exited, 
status=0/SUCCESS)
Main PID: 10450 (code=exited, status=3);         : 10478 (cassandra)
Tasks: 2
CGroup: /system.slice/cassandra.service
         └─control
            ├─10478 /bin/bash /etc/rc.d/init.d/cassandra stop
            └─10549 sleep 0.5

 02 15:15:39 localhost.localdomain systemd[1]: Starting LSB: distributed 
 stora....
 02 15:15:39 localhost.localdomain su[10376]: (to cassandra) root on none
 02 15:15:41 localhost.localdomain cassandra[10366]: Starting Cassandra: OK
 02 15:15:41 localhost.localdomain systemd[1]: Started LSB: distributed 
 storag....
  02 15:15:45 localhost.localdomain systemd[1]: cassandra.service: main 
 process...D
 02 15:15:45 localhost.localdomain su[10489]: (to cassandra) root on none
 02 15:15:45 localhost.localdomain cassandra[10478]: Shutdown Cassandra: 
 bash: …
 Hint: Some lines were ellipsized, use -l to show in full.

这意味着“cassandra 启动没问题”对吗? 但是当我像这样检查节点状态时 “节点工具状态”

然后我遇到了这个日志。

    "] nodetool status" 
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 
Connection refused)

所以我在谷歌上搜索了很多。 我找到了一些信息。 所以我尝试了这个。

  1. 编辑 cassandra-env.sh "JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
  2. 消耗内存大小:1GB -> 2GB

但我仍然面临同样的错误。

请有人帮助我。

------------- system.log ------------------------------- ---

INFO [main] 2018-08-02 15:15:44,866 YamlConfigurationLoader.java:89 - 配置位置:文件:/etc/cassandra/default.conf/cassandra.yaml

错误 [main] 2018-08-02 15:15:45,043 CassandraDaemon.java:708 - 启动期间遇到异常:无效 yaml:文件:/etc/cassandra/default.conf/cassandra.yaml 错误:扫描简单键时;找不到预期的“:”;在“阅读器”第 601 行第 1 列中:

设置listen_address 或listen_i ...

【问题讨论】:

  • 你的系统日志说什么?
  • 添加到付款评论。 system.log 通常位于 /usr/share/cassandra/logs 或 /var/log/cassandra。
  • @Payal 我在上面添加了 system.log
  • 它说你的 cassandra.yaml 文件有问题,你能粘贴你的 cassandra.yaml 文件和 system.log 文件中的完整错误消息吗?
  • Active: deactivating (stop) (Result: exit-code) since 2018-08-02 15:15:45 似乎没有运行。

标签: cassandra nodetool connectexception


【解决方案1】:

首先,您需要确保 OpenJDK 的激活版本应该是openjdk-8-jdk。如果您的机器上有多个版本的 OpenJDK,那么您可以按照 tutorial 设置默认版本(在本例中为 openjdk-8-jdk)。

然后,您需要再次检查 cassandra 服务的状态。激活cassandra服务的结果应该如下

之后,您可以按照instruction 修改JVM_OPTS 中的/etc/cassandra/cassandra-env.sh。就我而言,我不需要遵循第二步。最后,在检查节点的状态时,您应该会看到如下结果

【讨论】:

  • 上述答案并没有完全适合我。我必须更新 Cassandra 的权限。我在这里遵循了这个答案(askubuntu.com/questions/999834/…),它开始工作了。查找我(Daniel Blythe)的评论以获取更多信息或输入命令 sudo chown -R $USER:$GROUP /var/lib/cassandra/sudo chown -R $USER:$GROUP /var/log/cassandra/ 然后 $ cassandra 自行启动 Cassandra。然后nodetools status 它应该可以工作/连接
【解决方案2】:

cassandra 服务需要一些时间才能启动。安装完成后,使用查看服务是否启动

service  --status-all 

你会看到这样的东西

 [ + ]  cassandra
 [ - ]  dbus
 [ ? ]  hwclock.sh
 [ ? ]  kmod
 [ - ]  ntp
 [ - ]  procps
 [ - ]  rsync
 [ - ]  udev
 [ - ]  x11-common

如果您在 cassandra 旁边看到 - 符号而不是 + 符号,则表示该服务尚未启动。你可以通过发出这个命令来启动它

service cassandra restart

继续检查状态,直到你得到一个 +。现在应该可以执行 nodetool 命令了

nodetool status

现在你应该得到想要的结果,像这样

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack 
UN  127.0.0.1  84.76 KiB  16      100.0%            7615cf7e-14cc-4475-bf46-ceeb122b6a12  rack1

这对我有用

【讨论】:

    【解决方案3】:

    检查文件 cassandra-env.sh (/etc/cassandra/cassandra-env.sh) 如果参数 system_memory_in_mb 和 system_cpu_cores 值是根据您的机器功能配置的

    【讨论】:

      【解决方案4】:

      当我检查此“systemctl status cassandra”时,我可以看到 Active: failed,如下所示

      ● cassandra.service - LSB:结构化的分布式存储系统 数据加载:加载(/etc/rc.d/init.d/cassandra;坏;供应商 预设:禁用)活动:失败(结果:信号)自周五以来 2022-01-07 02:28:07 UTC; 10分钟前 文档:man:systemd-sysv-generator(8) Main PID: 8239 (code=killed, signal=KILL)

      所以我在 cassandra-env.sh

      中更改了以下参数

      JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=localhost"

      更改参数后我可以看到这个

      [root@ip-172-31-28-163 default.conf]# systemctl status cassandra ● cassandra.service - LSB:结构化的分布式存储系统 数据加载:加载(/etc/rc.d/init.d/cassandra;坏;供应商 预设:禁用)活动:活动(运行)自周五以来 2022-01-07 02:47:27 UTC; 12分钟前 文档:man:systemd-sysv-generator(8)

      请务必以 root 用户身份执行此操作。也要小心

      【讨论】:

        猜你喜欢
        • 2018-08-03
        • 2015-07-31
        • 1970-01-01
        • 2021-10-04
        • 2013-09-21
        • 2023-04-10
        • 2018-10-23
        • 2020-08-16
        • 2011-04-22
        相关资源
        最近更新 更多