복붙노트

[HADOOP] HBase를-인덱서 SOLR는 HBase를 테이블 행의 크기와 다른 numFound

HADOOP

HBase를-인덱서 SOLR는 HBase를 테이블 행의 크기와 다른 numFound

최근 우리 팀은 SOLR에 인덱싱 HBase를 테이블 컬럼에 대한 CDH에 HBase를-인덱서를 사용하고 있습니다. 우리는 (키 - 값 저장소 인덱서 호출되는) HBase를-인덱서 서버를 배포하고 테스트를 시작합니다. 우리는 행 HBase를 테이블과 SOLR 지수 사이의 크기를 상황이 다르다 발견 :

우리는 HBase를 테이블 행을 계산하는 피닉스를 사용 :

0: jdbc:phoenix:slave1,slave2,slave3:2181> SELECT /*+ NO_INDEX */  COUNT(1) FROM C_PICRECORD;

+------------------------------------------+
|                 COUNT(1)                 |
+------------------------------------------+
| 4084355                                  |
+------------------------------------------+

그리고 우리는 SOLR 인덱스의 크기를 계산하는 SOLR 웹 UI를 사용합니다 :

numFound : 4060479

우리는 HBase를-인덱서 로그 및 SOLR 로그에서 오류 로그를 찾을 수 없습니다. 그러나 HBase를 테이블과 SOLR 지수 사이의 행 크기는 정말 다르다! 사람이 상황을 만족 있습니까? 나는 어떻게 해야할지하지 않습니다

해결법

  1. ==============================

    1.나의 이해 :

    나의 이해 :

    HBase와의 행 개수 - SOLR의 행 개수 (numfound) = 누락 된 기록

    4084355-4060479 = 23,876 (HBase를 거기 있고 SOLR 누락)

    키 - 값 저장 인덱서 서비스는 레코드의 스트림 HBase를 테이블에 추가되는 인덱스에 릴리 HBase를 NRT 인덱서를 사용합니다.

    NRT는 증분 데이터 전체되지 않은 데이터에서 작동합니다.

    내 경험의 부족이 가능한 이유는 다음과 같습니다

    1) NRT는 처음 일했으며, NRT)이 때문에 일부 건강 문제 (작동하지 않는 갑자기 경우 다음 번호의 불일치의 가능성이 있습니다.

    HBase를로의 레코드를 삽입하는 동안 WAL이 .. 성능상의 이유로 (수 꺼져있는 경우 2) NRT는 WAL에서 작동 ()) 미리 쓰기 로그, NRT 못해 작동합니다.

    가능한 해결책 : 1) HBase를에서 SOLR에 SOLR 문서와 갓 부하 데이터를 삭제합니다.  당신은 전체 데이터를 실행할 수 있습니다 HBase를 배치 인덱서 (일괄 인덱서 늘 증분 데이터 작업, 그것은 전체 데이터 세트에서 작동)

    2) 데이터 흐름 파이프 라인의 일환으로, SOLR에 데이터를 삽입하는지도-감소 프로그램을 작성하라. (우리는 우리의 구현 중 하나에 한 일)

  2. ==============================

    2.좋아, 우리는 최근에이 문제를 해결했다.

    좋아, 우리는 최근에이 문제를 해결했다.

    HBase를-인덱서에 실수 때문에 SOLR numfound은 HBase를 테이블 행과 다른 이유는 계산 일부 행을 삭제하는 대신 그들을 삽입. 우리는 HBase를-인덱서 측정 기준에 따라이 문제를 발견 : https://github.com/NGDATA/hbase-indexer/wiki/Metrics

    우리는 JMX 메트릭 데이터를보고 발견하는 jconsole를 사용 :

    인덱서 카운트 = HBase를 테이블 행 수를 삭제 - SOLR numfound을

    마지막으로 우리는 HBase를-인덱서 소스 코드에 디버깅이 문제의 원인이 몇 가지 코드를 발견, 어쩌면 HBase를-인덱서에 대한 문제는, 참조하십시오 https://github.com/NGDATA/hbase-indexer/issues/78

  3. from https://stackoverflow.com/questions/37267899/hbase-indexer-solr-numfound-different-from-hbase-table-rows-size by cc-by-sa and MIT license