0

마스터 1 개, 클라이언트 1 개 및 데이터 노드 2 개가있는 Elasticsearch 클러스터를 설정했습니다. 클라이언트와 2 개의 데이터 노드는 하나의 시스템에 있고 마스터는 별도의 시스템에 있습니다.인덱스에 대한 주 노드 및 복제본 노드 할당

192.168.1.3 - master 
192.168.1.2:9201 - client 
192.168.1.2:9200 - data1 
192.168.1.2:9202 - data2 

나는 두 개의 인덱스 (movie-amemovie-eur)에 속하는 데이터가 아래와 같이 노드의 데이터를 유지하려면 다음과 같이 IP에 있습니다. Logstash를 사용하여 데이터 노드로 데이터를 가져 왔습니다.

영화 아메

primary shards in data1 
1 replica in data2 

logstash.conf

input { 
    file { 
    path => "C:\Users\azinneera\Desktop\logstash-5.1.1\bin\data.csv" 
    start_position => "beginning"  
    } 
} 

filter { 
    csv { 
     separator => "," 
     columns => ["ID","MovieName","ReleaseYear","Country","Genres"] 
    } 
} 

output { 
    elasticsearch { 
     action => "index" 
     hosts => ["192.168.1.2:9200"] 
     index => "movie-ame" 
    } 
    stdout {codec => rubydebug} 
} 

영화 EUR

primary shards in data2 
1 replica in data1 

logstash.conf

input { 
    file { 
    path => "C:\Users\azinneera\Desktop\logstash-5.1.1\bin\movieeur.csv" 
    start_position => "beginning"  
    } 
} 

filter { 
    csv { 
     separator => "," 
     columns => ["ID","MovieName","ReleaseYear","Country","Genres"] 
    } 
} 

output { 
    elasticsearch { 
     action => "index" 
     hosts => ["192.168.1.2:9202"] 
     index => "movie-eur" 
    } 
    stdout {codec => rubydebug} 
} 

그러나 그 DATA1을 보인다는 데이터 2에 두 지수 모두 인덱스 및 복제본에 대한 1 차 역할을합니다.

이 클러스터 상태는 아무 문제가 없습니다 enter image description here enter image description here

+0

그리고 뭐가 문제입니까? – baudsp

+0

질문에서 언급했듯이 data2는 인덱스 movie-eur의 기본 역할을하며 data1은 복제본을 보유해야합니다. 클러스터 상태를 보면 이것이 발생하지 않은 것 같습니다. 오히려 data1은 두 색인 모두에 기본이됩니다. 두 인덱스의 노드 ID는 같습니다. –

+0

좋아요, 무슨 뜻인지 알지만, 어떻게 문제가되는지 모르겠습니다. 복제본과 기본 복제본 간의 차이점은 현재 복제본과 복제본이 사용 중이라는 것입니다. 주 서버를 사용할 수 없으면 복제본이 사용됩니다. – baudsp

답변

1

을 보여줍니다 것입니다. Elasticsearch는 다른 노드에 기본/복제본을 넣고 하나의 샤드 단위로 동기화합니다.

Elasticsearch에서 데이터를 쿼리하면 복제본의 기본 복제본 또는 복제본 중 하나에서 쿼리합니다 (동일한 복사본으로 간주되기 때문에). 전반적으로, Elasticsearch는로드 밸런싱을 처리 할 것이므로 걱정할 필요가 없습니다.

정말로 걱정하고 싶다면 조정할 수있는 몇 가지 settings이 있습니다.