命令:sudo service cassandra status
cassandra.service - LSB: distributed storage system for structured data
Loaded: loaded (/etc/init.d/cassandra; generated)
Active: active (exited) since Thu 2020-02-06 19:27:40 IST; 1h 52min ago
Docs: man:systemd-sysv-generator(8)
Tasks: 0 (limit: 4915)
CGroup: /system.slice/cassandra.service
Feb 06 19:27:40 chaitra-HP-Laptop-15-da1xxx systemd[1]: Starting LSB: distributed storage system for structured data...
Feb 06 19:27:40 chaitra-HP-Laptop-15-da1xxx systemd[1]: Started LSB: distributed storage system for structured data.
命令:sudo nodetool status
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
我不知道如何解决这个问题。任何帮助都将不胜感激
1条答案
按热度按时间hrysbysz1#
在这种情况下,我会尝试以下几点:1)检查主机上的网络端口
您要么希望以cassandra所有者的身份(假设cassandra在7199上启动了侦听进程)运行上述命令,要么希望以root用户的身份(这样您就可以看到在7199端口上侦听的任何内容)。如果返回行,就可以获得监听端口7199(cassandra默认情况下用于jmx的端口)的unix进程id。验证cassandra是侦听该端口的进程,并使用:
如果是cassandra(如果使用datastax则是dse),那么您正在取得进展。如果没有,那么cassandra就没有运行,或者正在使用一个不同的端口,您在连接时必须指定这个端口。
如果cassandra正在运行并侦听端口7199,则根据您的cassandra.yaml配置,特别是您的侦听地址、本机\u传输\u广播\u地址和本机\u传输\u地址,您可能必须指定主机名。可以看出,它正在尝试连接到127.0.0.1。您可能必须在nodetool命令中指定主机(如果jmx\u端口不同于7199,则可能指定端口)才能使其工作。
我不记得是什么组合了,但是我们的配置有native\u transport\u address=0.0.0.0,native\u transport\u broadcast\u address=“hostip”和listen\u address=“hostip”。这种组合将允许您不必从nodetool命令中指定主机名。
最后要检查的是防火墙是否妨碍连接到端口7199。当您尝试使用127.0.0.1时,可能是iptables(firewalld)阻塞了该端口,但在大多数情况下不太可能。