-
[docker] 도커 Elasticsearch 설치 및 kibana 설치인프라/docker 2021. 1. 13. 17:27
싱글 노드 클러스터
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.1
멀티 노드 클러스터
version: '3.3' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic es02: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1 container_name: es02 environment: - node.name=es02 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data02:/usr/share/elasticsearch/data networks: - elastic es03: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1 container_name: es03 environment: - node.name=es03 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data03:/usr/share/elasticsearch/data networks: - elastic volumes: data01: driver: local data02: driver: local data03: driver: local networks: elastic: driver: bridge
메모리가 안되면 자바 옵션을 Xms Xmx를 128 정도로 다 내려주자.
Node es01 이 localhost:9200 으로 리슨 하고 있고 es02 와 es03 이 도커 네트워크로 통신하고 있다.
포트 9200 이 모든 네트워크의 인터페이스여서 포트를 열어줘야 한다. 리눅스에서 조정하는 방법은 IPTAVLES로 직접 조정해야 한다. 엘라스틱 클러스터는 공개적으로 접속이 가능하고 잠재적으로는 FIREWall 세팅을 무시한다. 만약 9200 포트를 오픈하기를 원하지 않는다면 reverse proxy 를 사용하면 된다. docker-compose.yml 파일에서 9200:9200 이 부분을 127.0.0.1:9200:9200로 변경해주면, 오직 호스트 머신만 엘라스틱에 접근할 수 있다.
도커 재시작 시에도 데이터를 유지하기 위해 volumes: 를 본인 pc 의 폴더로 설정해준다.
실행
docker-compose up
잘 실행한지 확인
curl -X GET "localhost:9200/_cat/nodes?v=true&pretty"
실행 정지
docker-compose down
로컬 데이터 볼륨 까지 삭제
docker-compose down -v
실행 후 Docker 대시보드에서 본 모습입니다.
엘라스틱 인덱스 추가 및 데이터 추가
curl -X POST "localhost:9200/index_test/_doc/?pretty" -H 'Content-Type: application/json' -d' { "user" : "testuser", "post_date" : "2020-06-17T14:12:12", "message" : "trying out Elasticsearch" } '
추가 한 데이터를 키바나에서 확인해 보자
키바나 접속
http://localhost:5601
위에서 만든 index_test 가 있다.
참고문헌
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html [공식 문서]
반응형'인프라 > docker' 카테고리의 다른 글
[docker] docker compose 시작하기 (0) 2021.03.31 [docker] 도커 redis 설치 및 접속 (2) 2021.01.12 [docker] 도커 jenkins 시작하기 (0) 2020.12.18 [docker] kafka docker 시작하기 (0) 2020.11.15 [docker] MongoDB 도커 설치 및 실행(몽고디비) (0) 2020.09.22