여러가지 이유가 있었겠지만, 아래와 같은 오류가 뜨면서 실행이 되질 않았었다.
오류는 아래와 같이 사용자에게 4096 이상의 thread를 사용할수있게 해달라는 간단한 요구.
~ 로그 ~
[2018-03-04T20:23:39,094][INFO ][o.e.b.BootstrapChecks ] [Vp89erv] bound or publishing to a non-loopback address, enforcing bootstrap checks
[2018-03-04T20:23:39,096][ERROR][o.e.b.Bootstrap ] [Vp89erv] node validation exception
[2] bootstrap checks failed
[1]: max number of threads [1024] for user [elasticsearch] is too low, increase to at least [4096]
[2]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
하지만 limits.conf 를 건드려봐도 해결이 안되는 이상한 상황.....
vi /etc/security/limits.conf
elastic hard nofile 65536
elastic soft nofile 65536
elastic hard nproc 65536
elastic soft nproc 65536
root hard nofile 65536
root soft nofile 65536
root hard nproc 65536
root soft nproc 65536
문제점은, 5.x 대에서는 elastic 이라는 계정을 사용해었는데, 6으로 버전업이 되면서 elasticsearch 를 사용해야한다.
( 로그에 나와있는데... )
그러니까 이게 맞는거지
elasticsearch hard nofile 65536
elasticsearch soft nofile 65536
elasticsearch hard nproc 65536
elasticsearch soft nproc 65536
아, 그리고
system call filters failed 이거는 일단 커널문제인듯 하여 bootstrap.system_call_filter: false 를 yml 파일에 추가하면 된다.
이 서버의 커널 버전은 2.6.32-696.el6.x86_64 이다. 3.x 로 가면 없어지려나