엘라스틱서치 노드 추가 / 엘라스틱서치 외부 접속 확인 방법

엘라스틱서치 노드 추가 방법

elasticsearch.yml 파일 수정

vi /etc/elasticsearch/elaticsearch.yml

엘라스틱서치 노드 추가 시 elasticsearch.yml 파일 수정 후 엘라스틱서치 재시작해야 반영됩니다.

모든 노드는 폴더, 파일 구조가 같아야 합니다.

1번 노드 설정 예시

cluster.name: my-appliction # 클러스터명 통일
node.name: node-1 # 노드명 중복 불가
bootstrap.memory_lock: true # 물리 메모리 미리 할당 설정
network.host: 0.0.0.0 # IP 자동 할당
http.port: 9200 # REST API 포트. 충돌 방지를 위해 중복 불가
transport.port: 9300 # 노드 간 전송 통신 포트. 충돌 방지를 위해 중복 불가
discovery.seed_hosts: ["1번노드외부IP:9300", "2번노드외부IP:9310", "3번노드외부IP:9320"] # 다른 노드 발견을 위해 등록
cluster.inital_master_nodex: ["node-1", "node-2", "node-3"] # 초기 마스터 후보 노드 설정

2번 노드 설정 예시

cluster.name: my-appliction # 클러스터명 통일
node.name: node-2 # 노드명 중복 불가
bootstrap.memory_lock: true # 물리 메모리 미리 할당 설정
network.host: 0.0.0.0 # IP 자동 할당
http.port: 9210 # REST API 포트. 충돌 방지를 위해 중복 불가
transport.port: 9310 # 노드 간 전송 통신 포트. 충돌 방지를 위해 중복 불가
discovery.seed_hosts: ["1번노드외부IP:9300", "2번노드외부IP:9310", "3번노드외부IP:9320"] # 다른 노드 발견을 위해 등록
cluster.inital_master_nodex: ["node-1", "node-2", "node-3"] # 초기 마스터 후보 노드 설정

3번 노드 설정 예시

cluster.name: my-appliction # 클러스터명 통일
node.name: node-3 # 노드명 중복 불가
bootstrap.memory_lock: true # 물리 메모리 미리 할당 설정
network.host: 0.0.0.0 # IP 자동 할당
http.port: 9220 # REST API 포트. 충돌 방지를 위해 중복 불가
transport.port: 9320 # 노드 간 전송 통신 포트. 충돌 방지를 위해 중복 불가
discovery.seed_hosts: ["1번노드외부IP:9300", "2번노드외부IP:9310", "3번노드외부IP:9320"] # 다른 노드 발견을 위해 등록
cluster.inital_master_nodex: ["node-1", "node-2", "node-3"] # 초기 마스터 후보 노드 설정

엘라스틱서치 외부 접속 확인 방법

웹 브라우저에서 확인 방법

http://1번노드외부IP:9200/?pretty

웹 주소창에 엘라스틱서치 URL을 입력합니다.

엘라스틱서치 외부 접속 성공 응답

{
  "name" : "node-1",
  "cluster_name" : "my-application",
  "cluster_uuid" : "-h4Hx1eOTYWL9oE0sA9G7w",
  "version" : {
    "number" : "8.3.3",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "801fed82df74dbe537f89b71b098ccaff88d2c56",
    "build_date" : "2022-07-23T19:30:09.227964828Z",
    "build_snapshot" : false,
    "lucene_version" : "9.2.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

엘라스틱서치 외부 접속 실패 응답

사이트에 연결할 수 없음
1번노드외부IP에서 연결을 거부했습니다.

엘라스틱서치 외부 접속 실패 시, HTTP 통신 포트 9200번을 방화벽 허용 설정해야 합니다.
AWS EC2 서버의 경우, 보안 그룹 인바운드 규칙으로 9200 포트를 등록해주면 방화벽이 허용됩니다.

Leave a comment