Elasticsearch 실행 시 “max virtual memory areas vm.max_map_count [65530] is too low” 오류 해결 방법

Elasticsearch를 실행하는 도중 “max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]”라는 오류 메시지를 받았다면, 이는 시스템의 가상 메모리 설정이 Elasticsearch의 요구사항을 충족하지 못하기 때문입니다. 이를 해결하기 위해서는 시스템 설정을 변경해야 합니다. 아래의 단계별 가이드를 따라 오류를 해결해보세요.

1. 오류 원인 분석

Elasticsearch는 대규모 데이터를 다루기 때문에 높은 가상 메모리 설정을 요구합니다. 기본 설정 값인 65530은 이 요구사항을 충족하지 못하기 때문에 Elasticsearch가 제대로 작동하지 않습니다. 이를 해결하려면 가상 메모리 영역을 최소 262144로 증가시켜야 합니다.

2. 설정 파일 수정

먼저, 시스템 설정 파일인 /etc/sysctl.conf 파일을 편집합니다. 이를 위해 다음 명령어를 사용하여 파일을 열어주세요.

vi /etc/sysctl.conf

파일이 열리면, 아래의 설정을 추가하고 저장합니다.

vm.max_map_count=262144

3. 시스템에 설정 적용

파일을 저장한 후, 변경된 설정을 시스템에 적용합니다. 다음 명령어를 사용하세요.

sudo sysctl -p

이 명령어는 /etc/sysctl.conf 파일의 내용을 다시 읽어 시스템 설정에 적용합니다.

4. 설정 변경 확인

설정이 정상적으로 적용되었는지 확인하기 위해 다음 명령어를 사용합니다.

cat /proc/sys/vm/max_map_count

출력 결과가 262144로 나타나면 설정이 올바르게 적용된 것입니다.

5. 추가 시스템 설정 (선택 사항)

Elasticsearch의 성능 최적화를 위해 추가로 /etc/security/limits.conf 파일을 수정할 수 있습니다. 이 파일을 편집하여 필요한 설정을 추가합니다.

vi /etc/security/limits.conf
# user 사용자계정명

user        soft     nofile          65535
user        hard     nofile          65535

user        soft     nproc           65535
user        hard     nproc           65535

이렇게 설정하면, 지정된 사용자는 최대 65535개의 파일 디스크립터와 프로세스를 사용할 수 있게 됩니다. 파일을 저장하고 닫습니다.

결론

위의 단계를 통해 Elasticsearch 실행 시 발생하는 “max virtual memory areas vm.max_map_count [65530] is too low” 오류를 해결할 수 있습니다. 올바른 시스템 설정을 통해 Elasticsearch가 최적의 성능으로 작동하도록 하는 것이 중요합니다.

댓글남기기