대마도 사 블로그 : : Elasticsearch 설치 
 category Back - end 2019 . 3 . 14 . 00 : 09 by 막히 면 차 고 , 차면 넘쳐 흐른다 . 대마도 사 
 아래 내용 은 CentOS 6 기준 
 설치 후 docker 가 실행 중 인지 확인 
 실행 중 이 아니 면 다음 명령어 로 실행 
 docker 컨테이너 로그 관리 
 컨테이너 에서 표준 출력 으로 표시 하 는 로그 는 컨테이너 로그 로 관리 되 며 docker logs 명령어 로 확인 할 수 있 음 
 컨테이너 로그 는 아래 경로 에 기록 되 며 로그 크기 가 계속 커질 수 있 으니 logrotate 설정 을 추가 해 줌 
 vi / etc / logrotate . d / docker - containers 
 2 . elasticsearch 폴더 및 설정 파일 생성 
 elasticsearch 폴더 생성 
 cd / home / madosa / app 
 mkdir config data logs 
 config 폴더 에 설정 파일 생성 
 touch elasticsearch . yml jvm . options log 4 j 2 . properties 
 그룹 은 0 ( root ) 으로 변경 
 cd / home / madosa / app / elasticsearch 
 sudo chgrp - R 0 . /* 
 공식 문서 에 는 컨테이너 내부 에서 사용 하 는 elasticsearch 유저 의 uid : gid 가 1000 : 1000 이 며 호스트 폴더 나 파일 의 그룹 을 1000 번 이나 0 번 으로 변경 하 라고 나와 있 으나 1000 번 으로 변경 하 면 권한 오류 발생 
 설정 파일 내용 
 노드 가 추가 되 는 경우 discovery . zen . ping . unicast . hosts , discovery . zen . minimum _ master _ nodes 설정 을 변경 
 Loopback 으로 호스트 를 지정 하 면 개발 모드 로 동작 하 며 Bootstrap 체크 를 통과 하 지 않 아도 됨 ( 기본 값 ) 
 운영 시 에 는 bind 또는 publish 호스트 를 지정 하 게 되 면 Bootstrap 체크 를 반드시 통과 해야 됨 
 vi jvm . options 
 vi log 4 j 2 . properties 
 서버 설정 추가 
 바로 적용 
 기타 ulimit 설정 은 컨테이너 생성 시 적용 
 3 . ES 노드 컨테이너 생성 
 4 . ES 컨테이너 실행 
 sudo docker start es _ oss _ node 1 
 sudo docker logs - f es _ oss _ node 1 
 tail - f / home / madosa / app / elasticsearch / logs / 클러스터 이름 . log 
 5 . kibana 폴더 및 설정 파일 생성 
 kibana 폴더 생성 
 mkdir kibana 
 설정 파일 에 다음 내용 입력 
 1 2 3 4 5 6 7 --- # Default Kibana configuration from kibana - docker . server . name : kibana server . host : " 0 " elasticsearch . url : http : / / 10 . 30 . 0 . 20 : 9200 
 6 . Kibana 컨테이너 생성 
 7 . Kibana 컨테이너 실행 
 sudo docker start kibana _ oss 
 docker logs - f kibana _ oss 
 노드 역할 
 Master - eligible : 마스터 가 될 수 있 는 노드 , 클러스터 컨트롤 
 Data : 데이터 보유 및 데이터 관련 작업 수행 
 Ingest : 인덱싱 전 문서 변환 등 을 수행 하 는 ingest pipeline 적용 
 Tribe : 클러스터 간 검색 및 작업 
 검색 등 요청 시 데이터 를 보유 중 인 노드 에 작업 을 전달 하 고 결과 를 모으 는 역할 
 Kibana 에서 운영 환경 의 클러스터 노드 에 작업 분산 하 기 위해서 는 kibana 가 설치 된 서버 에 Coordinating only node 를 설정 해서 사용 
 노드 통신 
 HTTP : 클라이언트 와 REST 통신 ( port : 9200 ) 
 Transport : 노드 간 통신 ( port : 9300 ) 
 X - Pack 기능 에 대한 라이센스 로 보 면 될 것 같 음 
 모니터링 및 보안 관련 기능 제공 
 기본 라이센스 는 무료 지만 매년 갱신 필요 하 며 제공 기능 이 많 지 않 음 
 tag centos 6 , docker , elasticsearch , 검색 엔진 
 전체 13 , 344 
 VISITOR 오늘 1 / 전체 13 , 344