Notice
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- 파이썬
- java
- WebClient
- RestTemplate
- vrrp
- datascience
- kafka security
- kafka admin
- keepalived
- 고가용성
- msa
- Spring
- Spring Cloud Gateway
- Kafka
- kafka 설정
- adminclient
- kafka 개발
- JAAS
- VirtualBox
- sasl
- Spring Boot
- 웹서버
- 리눅스
- Python
- 데이터사이언스
- kafka 운영
- Spring Cloud
- 스프링
- httpd
- kafka 성능
- Today
- 5
- Total
- 78,110
갓.바.조.아
ElasticSearch 설치시 확인할 사항 본문
ElasticSearch 설치시 확인할 사항
올초부터 회사에서 요즘 Kafka, Elasticsearch, Ansible, k8s 등등
난생 처음 다뤄보는 것들을 하나하나 엮어서 올리다보니 설치부터 삽질한 경험이 많아서 정리 해 보려고 함...
가장 기본적인 Elasticsearch 의 경우에도 무턱대고 설치를 하려고 하면 여러가지 에러 메시지를 마주치게 됨
아래는 설치시 체크해보아야 할 기본적인 사항들
- Important System Configuration에서 참고하였음
- RPM이나 DEB로 리눅스에 설치할 경우는 신경 쓰지 않아도 됨
- Permission
- ElasticSearch는 root 권한으로 실행을 하지 않을 것을 권장하므로 Elasticsearch용 유저를 따로 만드는 것을 권장함
- 5.0 이하의 버전에서는
-Des.insecure.allow.root=true
실행 파라미터를 주고 루트에서 실행 가능하지만 - 5.0 이상의 버전에는 해당 옵션이 제거되고
don't run elasticsearch as root
에러 발생
- Disable swapping
- Elasticsearch는 JVM상에서 구동되므로 메모리 점유 또한 JVM 옵션으로 컨트롤되므로 swap을 꺼도 무방하다
- 임시로 끄기 위해서는
sudo swapoff -a
- 영구적으로 끄기 위해서는
/etc/fstab
의 swap 이라는 문구가 포함된 파일을 모두 주석 처리
- File Descriptors
- Elasticsearch는 동시에 매우 많은 파일을 엑세스하기 때문에 이 설정이 권장치보다 낮으면 data loss가 발생함
ulimit -Hn
명령어의 값은 65536 이상을 권장ulimit -n 65536
으로 임시로 설정 가능- 영구적인 설정을 위해서는
/etc/security/limits.conf
에 아래와 같은 줄을 추가 (재로그인시 적용)elasticsearch - nofile 65536
(elasticsearch 구동용 계정이 elasticsearch인 경우)
- Number of Threads
- Elasticsearch는 작업간 스레드를 많이 사용하는데 이 스레드의 숫자는 4096 이상을 권장함
ulmit -Hu
명령어의 값은 4096 이상을 권장ulimit -u 4096
으로 임시로 설정 가능- 영구적인 설정을 위해서는
/etc/security/limits.conf
에 아래와 같은 줄을 추가 (재로그인시 적용)elasticsearch - nproc 4096
(elasticsearch 구동용 계정이 elasticsearch인 경우)
- Virtual Memory
- Elasticsearch는 mmapfs를 저장소로 사용하는데, 일반적으로 OS의 기본값이 작게 설정되어 있어 메모리 문제를 일으킬 수 있음
sysctl vm.max_map_count
명령어의 값은 262144 이상을 권장sysctl -w vm.max_map_count=262144
로 임시로 설정 가능- 영구적인 설정을 위해서는
/etc/sysctl.conf
에 아래와 같은 줄을 추가 (재부팅시 적용) vm.max_map_count=262144
- Elasticsearch는 mmapfs를 저장소로 사용하는데, 일반적으로 OS의 기본값이 작게 설정되어 있어 메모리 문제를 일으킬 수 있음
- 위의 사항들이 제대로 되어 있지 않으면 Elasticsearch 구동시 bootstrap check가 실패함
- Elasticsearch가 loopback address에 bind되어 있는 단일노드라면 development mode이므로 관계 없지만
- Elastiscsearch가 non-loopback address에 bind되어 있으며 클러스터에 참가하는 노드라면 production mode이므로 위의 사항을 통과해야지만 구동함
- 클러스터링에 관한 설정은 다음 포스트에...
'dev > Cloud & Infra' 카테고리의 다른 글
ElasticSearch Heap 사이즈 설정 (0) | 2019.02.03 |
---|---|
systemd 서비스 unit파일 작성에서 했던 실수 (1) | 2019.02.02 |
ElasticSearch 설치시 확인할 사항 (0) | 2018.12.30 |
VirtualBox로 설치한 VM에 LINUX 네트워크 설정하기 (0) | 2018.12.02 |
VirtualBOX를 커맨드라인으로 제어하기 (VBoxManage) (0) | 2018.12.01 |
vagrant 에서 Encoding::CompatibilityError 에러가 발생할 경우 (4) | 2018.03.12 |
- Tag
- #Elasticsearch, #엘라스틱서치
0 Comments