ElasticSearch 샤드 배치 방식 변경하기
·
ElasticSearch
샤드 배치는 대부분 ElasticSearch가 알아서 해줍니다.하지만 unassinged 샤드가 발생해서 5회 이상 재할당이 실패한 경우 더 이상 자동으로 할당이 되지 않습니다. 또 다른 상황으로 마이그레이션을 할 때 샤드를 다른 노드로 배치해야 하는 경우도 있습니다. 이런 상황에서 샤드 배치 방식을 수동으로 변경해야 하는데, 그 방법에 대해 알아보겠습니다. 샤드 배치 명령어샤드를 배치하는 방법은 4가지가 있습니다.`reroute`: 샤드 하나를 특정 노드에 배치`allocation`: 샤드 배치 방식을 클러스터 전체에 적용`rebalance`: 샤드 재분배 방식을 클러스터 전체에 적용`filtering`: 특정 조건에 해당하는 샤드들을 특정 노드에 배치이 중에서 샤드 하나를 특정 노드에 배치하는 `re..
ElasticSearch 클러스터 설정 톺아보기
·
ElasticSearch
ElasticSearch 기본 환경 설정클러스터의 환경 설정은 `elasticsearch.yml` 파일로 할 수 있습니다.Cluster 영역클러스터 내의 모든 노드들은 동일한 클러스터의 이름을 사용하는데, 그 이름을 설정합니다.설정하면 클러스터 전체에 적용됩니다.cluster.name: myCluserName- 아무 값도 설정하지 않으면 `elasticsearch`라는 이름으로 설정됩니다.Node 영역해당 노드에만 적용되는 설정입니다.node.name: myNode1노드의 이름은 클러스터 내에서 유니크해야 합니다.7.x 버전부터 기본값으로 `${HOSTNAME}`을 사용합니다.Path 영역데이터와 로그를 저장하는 위치를 설정할 수 있습니다.이 위치 설정 값이 없으면 ElasticSearch가 실행되지 않..
ElasticSearch 기본 개념
·
ElasticSearch
클러스터와 노드클러스터는 여러 대의 컴퓨터나 구성 요소를 논리적으로 연결한 전체를 하나인 것처럼 사용하게 하는 기술을 말합니다.ElasticSearch 클러스터여러 ElasticSearch 프로세스들을 논리적으로 연결해 하나의 프로세스처럼 사용하게 하는 기술고유한 클러스터 이름과 `UUID`를 갖는다.노드클러스터를 구성하는 하나의 ElasticSearch 프로세스고유한 노드 이름과 `UUID`를 갖는다.(노드 이름을 설정하지 않으면 7.x 부터 `${HOSTNAME}`을 사용. 이전 버전은 랜덤 값 사용)클러스터 내에서 서로 동일한 클러스터의 이름을 인식한다.위 그림의 각 노드들은 하나의 ElasticSearch로 동작하기 때문에 어떤 노드에 요청을 보내더라도 동일한 응답과 응답 속도를 보장받을 수 있습..
bulk API 수행 시 'Malformed content, found extra data after parsing: START_OBJECT' 에러 해결하는 방법
·
ElasticSearch
환경- OS: macOS m1- ElasticSearch version: `8.16.2` (Docker Image: `elasticsearch:8.16.2`)문제 발생인덱싱하려는 JSON 파일{"index": {"_id" : "1"}}{"title": "Kubernetes: Up and Running", "reviews": 10, ...생략 }{"index": {"_id" : "2"}}{"title": "Cloud Native Java", "reviews": 33, ...생략 }... 생략 인덱싱하려는 JSON 파일은 아래 ElasticSearch 공식 문서에 있는 형식을 지켰습니다. 공식 문서에 나와있는 입력 형태action_and_meta_data\noptional_source\naction_and_..