3.1. ELK 설치하기 - elasticsearch (2)
# 외부와 연동하기 위한 설정 env 설정
elasticsearch 5.0 이상 부터는 elasticsearch가 원하는 시스템 스펙을 지원해줘야 정상작동을 합니다. ㅜㅜ 삽질했던 사항 1
설정을 안하고 elasticsearch 실행 했을 때 아래 에러 메시지가 발생합니다.
//error
ax file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
해당 문제를 해결 하기 위한 설정을 알아보겠습니다.
현재 설정되어 있는 리미트 값을 확인 하는 명령어
1
ulimit -Sa
첫번째 설정
1
sudo vi /etc/security/limits.conf
desc : limits.conf 시스템 사용자들이 자원을 제어 설정 할 수 있는 설정 파일 입니다. (한 프로세스가 다른 프로세스의 영향을 최소한 막아주는 역할 설정) |
수정할 내용
vi edit를 통해 아래 내용을 추가 합니다.
# edit 내용으로는 아래 내용을 추가합니다. (2^16) ec2-user hard nofile 65536 # ec2-user는 하드세팅(해당 쉘 최대값) 으로 한 번 접속할때 65536번의 파일을 열어 볼 수 있습니다. ec2-user hard nofile 65536 # ec2-user는 소프트세팅(해당 설정 값) 으로 한 번 접속할때 65536번의 파일을 열어 볼 수 있습니다. ec2-user hard nproc 65536 # ec2-user는 하드세팅으로 한 번 접속할때 65536번의 프로시저를 실행 할 수 있습니다. ec2-user sort nproc 65536 # ec2-user는 소프트세팅으로 한 번 접속할때 65536번의 프로시저를 실행 할 수 있습니다. |
두번째 설정
1
sudo vi /etc/rc.local
desc : rc.local은 리눅스가 부팅 될 때 자동으로 적용 될 수 있게 쉘 혹은 설정 파일을 등록 하여 활용 합니다. |
수정할 내용
vi edit를 통해 아래 내용을 추가 합니다.
echo 1048575 > /proc/sys/vm/max_map_count # 특정 프로세스가 소유할 수 있는 가상 메모리 영역 설정 |
위의 설정외에 sudo passwd root 로 루트 비밀번호를 설정후 su - 로 루트로 접속하여 /proc/sys/vm/max_map_count 값을 변경하는 방법도 있습니다.
세번째 설정
1
sudo sysctl -w fs.file-max=262114
desc : sysctl 명령어는 커널 제어변수를 설정하여 시스템을 최적화 시키는 명령어 입니다. -a 는 설정값을 보는 옵션이고 -w 는 설정변수 값을 변경시 사용하는 옵션입니다. |
위의 설정이 모두 끝나면 서버를 다시 시작 합니다.
1
sudo reboot 0 # 지금 당장 다시시작 해라 명령어
desc : 저는 주로 sudo init 6 명령어로 재부팅을 합니다. init 0 : 종료 init 1 : 단일사용자로(복구) init 2 : 다중사용자(network x) init 3 : 다중사용자 (network ok) init 4 : 미사용 init 5 : 다중사용자 그래픽 모드 init 6 : 재시작 |
# 설정하기
위의 구성 파일중 elasticsearch.yml 파일을 수정 합니다.
1
vi config/elasticsearch.yml
# ---------------------network----------------------- # # Set the bind address to a specific IP (IPv4 or IPv6) (yyp)=복사 붙여넣기 # ec2-user는 하드세팅(해당 쉘 최대값) 으로 한 번 접속할때 65536번의 파일을 열어 볼 수 있습니다. # network.host: 192.168.0.1 # 이하 아래내용 생략... |
위의 내용을 설정 완료 후 elasticsearch를 시작 하면 아래와 같이 정상적으로 외부에서 접근이 가능한 화면을 확인 할 수 있습니다.
elasticsearch 설치 완료