CM Agent에 JSONDecodeError가 발생하고 Impala 프로세스 상태가 갱신되지 않는 증상이 나타난다.
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)와 함께 같은 IMPALAD 프로세스 디렉터리가 여러 PID에서 재사용되었다. 정상 재시작에서는 새 프로세스 디렉터리가 생성되어야 한다. 해당 노드의 서비스 중단이 발생하므로 중단 가능한 시간에 적용하는 복구 절차다.
systemctl stop cloudera-scm-agent로 Agent를 중단한 뒤 systemctl stop cloudera-scm-supervisord로 supervisor를 중단한다. /var/run/cloudera-scm-agent/process 아래 재사용되는 기존 IMPALAD 프로세스 디렉터리의 이름을 바꾸거나 별도 위치로 옮긴다. systemctl start cloudera-scm-agent로 Agent를 시작한다.
명령 예시는 문서 작성 시 보강한 것이며 대상 시스템에서 실행 검증하지 않았다.
sudo systemctl stop cloudera-scm-agent
sudo systemctl stop cloudera-scm-supervisord
sudo ls -ld /var/run/cloudera-scm-agent/process/*impala-IMPALAD
sudo mv '<확인한-기존-IMPALAD-디렉터리>' '<별도-백업-경로>'
sudo systemctl start cloudera-scm-agent
sudo journalctl -u cloudera-scm-agent --since '-10 minutes'
JSONDecodeError가 재발하지 않고 새 IMPALAD PID·디렉터리 및 CM 상태가 일치하는지 확인한다.