2017-04-04 8 views
0

Solr 배치 색인 작성과 관련하여 몇 가지 성능 문제가 있습니다. 우리는 32 명의 코어와 256GB RAM을 갖춘 4 명의 작업자로 구성된 클러스터를 가지고 있습니다. YARN은 100 개의 vCore 및 785.05GB의 메모리를 사용하도록 구성됩니다. HDFS 스토리지는 10Gb 인터페이스를 통해 연결된 EMC Isilon 시스템에 의해 관리됩니다. 우리 클러스터는 CDH 5.8.0을 실행하고 Solr 4.10.3을 특징으로하며 Kerberized입니다.Solr 색인 성능

현재 압축 된 데이터를 말하자면 MapReduce 작업을 사용하여 하루에 약 25GB와 500GB를 색인 할 수 있습니다. 이러한 작업 중 일부는 매일 실행되며 약 12 ​​시간 동안 15GB의 압축 데이터를 인덱싱합니다. 특히, MorphlineMapper 작업은 약 5 시간 지속되고 TreeMergeMapper는 약 6 시간 지속됩니다.

이러한 성능은 정상입니까? 색인 생성 실적을 향상시킬 수있는 몇 가지 조정 방법을 제안 할 수 있습니까?

, 감사합니다

스테파노

+1

모든 것을 벤치 마크하고 프로파일 링하여 병목 현상이 어디에 있는지 파악합니다. 그것들을 고쳐라. 반복. –

+0

이 질문은 대답을하기에는 너무 광범위합니다. @AndrewHenle에 동의합니다. 모든 아키텍처에서 벤치마킹 및 프로파일 링을 시작하십시오. 또는 적절한 답을 식별 할 수있는 충분한 세부 사항이있는 특정 문제로 제한하기 위해 질문을 편집하십시오. – freedev

답변

0

우리가 MapReduceIndexerTool을 사용하고 네트워크 문제가 없습니다. HDFS에서 압축 파일을 읽고 모프 라인에서 압축을 풀고 있습니다. TreeMergeMapper 컨테이너 불과 몇 소요,

cmd_hdp=$(
HADOOP_OPTS="-Djava.security.auth.login.config=jaas.conf" hadoop --config /etc/hadoop/conf.cloudera.yarn \ 
jar /opt/cloudera/parcels/CDH/lib/solr/contrib/mr/search-mr-*-job.jar \ 
org.apache.solr.hadoop.MapReduceIndexerTool \ 
-D morphlineVariable.ZK_HOST=hostname1:2181/solr \ 
-D morphlineVariable.COLLECTION=my_collection \ 
-D mapreduce.map.memory.mb=8192 \ 
-D mapred.child.java.opts=-Xmx4096m \ 
-D mapreduce.reduce.java.opts=-Xmx4096m \ 
-D mapreduce.reduce.memory.mb=8192 \ 
--output-dir hdfs://isilonhostname:8020/tmp/my_tmp_dir \ 
--morphline-file morphlines/my_morphline.conf \ 
--log4j log4j.properties \ 
--go-live \ 
--collection my_collection \ 
--zk-host hostname1:2181/solr \ 
hdfs://isilonhostname:8020/my_input_dir/ 
) 

MorphlineMapper 상 가능한 모든 자원을 취 이것은 우리가 우리의 스크립트를 실행하는 방법입니다.

지금은 검색어를 입력 할 필요가 없습니다. 이전 데이터를 색인하기 만하면됩니다. 인덱싱 시간을 단축하고 인덱싱이 완료 될 때 검색을 위해 컬렉션을 최적화하는 방법이 있는지 궁금합니다.

감사합니다.