2014-04-27 1 views
0

Zookeeper 및 SolrCloud 클러스터와 관련된 최상의 전략에 대해 궁금합니다. 하나의 사육사 클러스터가 SolrCloud 클러스터마다 전용되어야합니까? 아니면 여러 SolrCloud 클러스터가 하나의 사육사 클러스터를 공유 할 수 있습니까? 나는 전자가 매우 안전한 접근법이되어야한다고 생각하지만, 제 2의 옵션이 괜찮은지 궁금하다.Zookeeper 클러스터를 하나의 SolrCloud 클러스터에만 할당해야합니까?

답변

1

내가 아는 한 SolrCloud는 Zookeeper를 사용하여 클러스터 상태 (위, 아래 노드)를 공유하고 부팅시 코어 공유 구성 (solrconfig.xml, schema.xml 등)을로드합니다. SolrJ의 CloudSolrServer 구현을 기반으로하는 클라이언트의 경우 주로 클러스터 상태 읽기를 수행합니다.

이와 관련하여 동일한 ZK 앙상블을 공유하는 것이 좋다고 생각합니다. 많은 읽기와 적은 글이 ZK가 디자인 한 것입니다.

1

SolrCloud는 ZooKeeper 클러스터에 매우 적은 부하를 걸기 때문에 성능상의 고려 사항이라면 아무런 문제가 없습니다. 로컬 네트워크에있는 경우 SolrCloud 당 하나의 ZK 클러스터를 갖는 것은 아마도 자원 낭비 일 것입니다. ZooKeeper 설정이 별도의 ZooKeeper 경로에 있는지 확인하십시오. 예를 들어 하나의 SolrCloud에 -zkHost : /를 사용하고 두 번째 파일의 경우 "path1"을 "path2"로 바꾸면 solo 파일이 ZooKeeper 내의 다른 경로에 놓여 충돌을 피할 수 있습니다.

ZK 클러스터가 잘 구성되고 견고해야합니다. 장애가 발생하면 SolrCloud가 노드 가용성이나 상태의 변화에 ​​응답 할 수 없기 때문입니다. (SolrCloud 리더가 유실되었거나 연결할 수 없거나 노드가 복구 상태가되는 경우 등)