기본 콘텐츠로 건너뛰기

라벨이 Shard인 게시물 표시

[SolrCloud] SolrCloud 환경에 DataImport 사용하기 (Schedule 작업 포함)

Notes DataImport 처리에 대해서 처음 접하는 경우는 아래와 같은 정보를 사전에 검토해야 한다. DataImport 처리를 처음 구성하는 경우는 이미 많은 정보들이 존재하므로 찾아서 검토를 하고, DataImport 와 관련된 다음의 정보를 검토해야 한다. DataImport 처리할 때 주의할 점 DataImport 에서 last_index_time 의 의미와 사용법 Quartz Schedule 을 이용한 DataImport 작업 수행 그리고 실제 작업을 진행하면서 만났던 오류를 기준으로 정리한 것으로 다른 원인과 다른 오류가 더 많을 수 있으므로 Solr관련 정보를 확인해야 한다. DataImport on SolrCloud 단일 서버에 구성했던 Solr 로 DataImport 를 처리하는 것과 동일하게 처리하면 된다. 아래는 기존 샘플 에서 사용했던 Collection 을 대상으로 DataImport (Full-Import) 를 처리하는 명령이다. http: / /localhost:7070/solr /test-collection/dataimport ?command=full-import&clean= true &commit= true 단, 차이점이라면 Solr Admin UI 에서 처리하는 “DataImport” 는 Collection name 을 이용하는 것이 아니라 실제 Core 를 사용한다는 점이다. 예를 들면 다음과 같은 명령이 호출된 것과 같다. http: / /localhost:7070/solr /test-collection_shard1_replica1/dataimport ?command=full-import&clean= true &commit= true 명령을 처리하는 방식 (Request or Admin UI) 의 차이를 제외하면 기존 방식과 동일하게 처리하면 된다. Problems dataimport.p

[ Solr ] 용어들 정리

Solr 를 사용하기 위해서는 몇 가지 용어들을 확인하고 이해해야 하기 때문에 간단하게 나름대로 정리하도록 한다. (현재 이해를 근거로 정리한 것이므로 향후 변경 또는 추가/삭제가 발생할 수 있다) 이 정리는 Solr Wiki의 Solr Teminology 를 기준으로 한 것이다. 발 번역을 한 것 + 무작정 이해한 것이 덧붙여져 엉뚱한 내용도 많이 포함되어 있을 수 있으므로 원문을 검토해서 이해해야 한다. ㅠㅠ SolrCloud SolrCloud 를 구성한다면 아래의 용어들에 혼동을 느끼기 쉽기 때문에 별도로 구분해서 정리해 놓는다. SolrCloud - Solr 에서 제공하는 분산 기능을 의미하고 고 가용성과 장애 복구 및 분산 인덱싱과 검색을 제공하는 아키텍처라고 이해하면 된다. Cluster - 클러스터는 Solr를 구성하는 모든 노드들의 집합을 의미한다. 클러스터는 하나의 Solr 인덱스를 서비스하기 위한 구성을 가진다. 즉, 단일 schema.xml 과 solrconfig.xml 을 공유한다. Node - 노드는 클러스터에 포함되는 각 논리적 서버(Solr 가 서비스되는 JVM 인스턴스 단위) 를 의미한다. 물리적인 서버에 하나의 노드가 존재할 수도 있고, 여러 개의 노드가 존재할 수도 있다. Partition - Solr 에서 관리하는 문서들을 특정한 단위 (일반적으로 Hash 기준으로 묶어서 처리) 로 분리한 하위 집합을 의미한다. 유사한 경우는 데이터베이스에서 하나의 대량 데이터를 가진 테이블을 여러 개의 세그먼트로 파티셔닝 하는 것과 같다. Collection - 컬랙션은 SolrCloud 클러스터에서 관리되는 논리적인 인덱스를 의미한다. 이 컬랙션은 하나 또는 그 이상의 Shard로 구성되고 설정 세트(Config Set) 와 연관되어 있다. 이 때 하나 이상의 Shard로 구성된 것을 분산 인덱스라고 한다. 보통은 이 컬랙션의 이름을 참조해서 분산 검색 에 필요한 각 Shard에 대한 관리용 파라미터로 사용