elasticsearch 5.2.2 사용 중입니다.
갑작스레 노드가 죽어서 확인을 해보니 로그가 남아있지 않았습니다.
우분투에서 journalctl 명령어로 시스템에 남은 로그를 확인해보니 로그는 아래와 같았습니다.
Jun 06 12:29:26 hmxelk-03 kernel: python2 invoked oom-killer: gfp_mask=0x26000c0, order=2, oom_score_adj=0
Jun 06 12:29:26 hmxelk-03 kernel: Out of memory: Kill process 61808 (java) score 649 or sacrifice child**
Jun 06 12:29:26 hmxelk-03 kernel: Killed process 61808 (java) total-vm:384886604kB, anon-rss:8482112kB, file-rss:627280kB
Jun 06 12:29:26 hmxelk-03 kernel: Out of memory: Kill process 1452 (python3) score 2 or sacrifice child
Jun 06 12:29:26 hmxelk-03 kernel: Killed process 1452 (python3) total-vm:230192kB, anon-rss:28524kB, file-rss:3492kB
Jun 06 12:29:26 hmxelk-03 python3[1353]: 2017/06/06 12:29:26.238705 INFO Installed Agent WALinuxAgent-2.2.2 is the most current agent
Jun 06 12:29:26 hmxelk-03 python3[1353]: 2017/06/06 12:29:26.257563 INFO Agent WALinuxAgent-2.2.2 launched with command 'python3 -u /usr/sbin/waagent -run-exthandlers'
Jun 06 12:29:26 hmxelk-03 systemd[1]: elasticsearch.service: Main process exited, code=killed, status=9/KILL
Jun 06 12:29:26 hmxelk-03 systemd[1]: elasticsearch.service: Unit entered failed state.
Jun 06 12:29:26 hmxelk-03 systemd[1]: elasticsearch.service: Failed with result 'signal'.
MS Azure 가상머신에서 운영 중인데 Out Of Memory가 뜨면서 먼저 python2 가 죽고 이후 java 가 죽고,
python3 가 죽은 뒤 elasticsearch 노드가 죽었는데 혹시 관련해서 조언을 들을 수 있을지 궁금합니다.
기본적으로 elasticsearch의 설정은 아래와 같습니다.
/etc/default/elasticsearch
MAX_OPEN_FILES=65535
MAX_LOCKED_MEMORY=unlimited
/usr/lib/systemd/elasticsearch.service
LimitMEMLOCK=infinity
/etc/security/limits.conf
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
/etc/elasticsearch/elasticsearch.yml
bootstrap.memory_lock: true
indices.fielddata.cache.size: 75%
indices.memory.index_buffer_size: 10%
GET _cluster/settings
"indices": {
"breaker": {
"fielddata": {
"limit": "77%"
},
"request": {
"limit": "50%"
},
"total": {
"limit": "80%"
}
}
}
}
경험 있으신 분들이 계시다면 조언 부탁드립니다.
감사합니다.