3つのシステム(すべてUbuntu 20.4を実行)に3ノードCassandraクラスタがインストールされています。
systemctl start cassandra または cassandra -f コマンドで起動できます。
ただし、systemctl status cassandraにサービスがアクティブで実行中であるとマークされていても、systemctl start cassandraを介して起動すると、次のように表示されます。
root@:~# systemctl status cassandra
root@csidclppa0056:~# systemctl status cassandra
cassandra.service - LSB: distributed storage system for structured data
Loaded: loaded (/etc/init.d/cassandra; generated)
Active: active (running) since Sun 2021-08-22 01:05:08 PDT; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 1423026 ExecStart=/etc/init.d/cassandra start (code=exited, status=0/SUCCESS)
Tasks: 3 (limit: 154174)
Memory: 5.1G
CGroup: /system.slice/cassandra.service
└─1423129 java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -X>
ただし、ポート 7000、9042、または 7199 でリッスンするプロセスはありません。
したがって、nodetool 状態は次のエラー メッセージで失敗します。
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
ポート 9042 でリッスンするプロセスがないため、cqlsh も失敗します。
逆に、cassandra -f コマンドで起動すると、関連する Cassandra プロセスが 3 つのポートをすべてリッスンします。したがって、nodetool status コマンドと cqlsh コマンドの両方が期待どおりに機能します。
ここで何か抜けましたか? systemctlがcassandraが期待どおりに機能しないのはなぜですか?