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 프로세스에서 세 포트를 모두 수신합니다. 따라서 nodetool status 및 cqlsh 명령은 모두 예상대로 작동합니다.
여기서 뭔가 빠졌나요? systemctl이 cassandra가 예상대로 작동하지 않는 이유는 무엇입니까?