Centos7 Elasticsearch 실행 시 Error

 

centos7 rpm으로 설치 후 실행 시 다음과 같은 error 발생
(Failed at step USER spawning /usr/share/elasticsearch/bin/systemd-entrypoint: No such process)

 

 

원인

root의 비밀번호 인증에 이상, elastic 설치 경로 소유자 이상

 

증상 

1. root 비밀번호 변경 불가

 

해결과정

1. /etc/shadow file 권한이 없음

2. 권한을 주려고 했으나 실패

3. 구글링으로 찾아본 결과 불변속성 제거하는 방법을 알아냄

(참고:https://serverfault.com/questions/714091/cant-edit-files-etc-passwd-and-etc-shadow)

3-1 명령어 입력

lsattr /etc/shadow

3-2 권한 확인

참고한 곳에서는 i로 되어있으나

----i-------- /etc/shadow

내 환경에서는 a로 변경되었다.

-----a---------- /etc/shadow

3-3 다음을 실행 후 파일을 편집할 수 있게됨 ( 참고사이트에는 chattr -i /etc/shadow )

chattr -a /etc/shadow

3-4 정상적으로 권한이 변경되는것 확인

3-5 루트 비밀번호도 정상적으로 변경됨 (비밀번호를 짧게하면 다음과 같은 BAD PASSWORD가 출력됨)

 

4. 다시 엘라스틱 실행

(Failed at step USER spawning /usr/share/elasticsearch/bin/systemd-entrypoint: No such process) 이 에러는 사라졌으나 여전히 실행이 안됨

5. 권한 문제

 

5-1 엘라스틱은 다음 경로에 설치가 된다.

home dir : /usr/share/elasticsearch
config dir : /etc/elasticsearch
data dir : /var/lib/elasticsearch
log dir : /var/log/elasticsearch

 

5-2 root로 접속해 해당경로의 권한을 모두 바꿔주었다. (elasticsearch 유저를 따로 생성하지 않아도 되는듯 하다.)

chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
chown -R elasticsearch:elasticsearch /etc/elasticsearch
chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
chown -R elasticsearch:elasticsearch /var/log/elasticsearch

5-3 그 후 정상실행 되는것을 확인했다.

sudo systemctl start elasticsearch

sudo systemctl status elasticsearch