2016-07-26 2 views
2

hbase-0.94 클러스터에 hadoop-1.0.1이 있습니다. 내가 하둡-2.5.1 또 다른 HBase를-0.98 클러스터를 프로비저닝 및 HBase를-0.98을 위해 HBase를-0.94 테이블을 복사 할 한 hadoop-2.5.1hbase-0.94 클러스터에서 hbase-0.98 클러스터로 hbase 테이블을 복사하는 방법

hbase-0.98로 업그레이드하는 동안 우리는이 클러스터에 대한 다운 타임을 갖고 싶어하지 않습니다. HbaseCopyTable이 목적으로 작동하지 않는 것 같습니다.

위 작업을 수행하는 방법을 제안하십시오.

답변

2

다음 옵션 중에서 선택할 수 있습니다.

  1. 당신은 HDFS에 org.apache.hadoop.hbase.mapreduce.Export 도구 수출 테이블을 사용할 수 있습니다 그리고 당신은 다른 클러스터로 데이터를 이동할 수 hadoop distcp을 사용할 수 있습니다. 데이터가 두 번째 클러스터에 배치되면 org.apache.hadoop.hbase.mapreduce.Import 도구를 사용하여 테이블을 가져올 수 있습니다. http://hbase.apache.org/book.html#export을 참조하십시오. 에
  2. 두 번째 옵션은 우리에게 CopyTable 도구입니다, 찾아보세요 : http://hbase.apache.org/book.html#copytablepivotal

  3. 세 번째 옵션에서보세요 것은, HBase를 스냅 샷을 가능하게 테이블 스냅 샷을 생성 한 다음 전원을 이동 ExportSnapshot 도구를 사용하는 것입니다 두 번째 클러스터로. 스냅 샷이 두 번째 클러스터에 있으면 스냅 샷에서 테이블을 복제 할 수 있습니다. 제발 봐 : http://hbase.apache.org/book.html#ops.snapshots

HBase를 스냅 샷을 사용하면 지역 서버에 너무 많은 영향을주지 않고 테이블의 스냅 샷을 할 수 있습니다. 스냅 샷, 복제 및 복원 작업 에는 데이터 복사가 필요하지 않습니다. 나는 3 가 더 나은 솔루션이었다 내 경우에는 클러스터와 I 사이의 데이터 이동을 위해 1, 3을 사용하고 있었다

또한, 다른 클러스터에 스냅 샷을 내보내기 지역 서버에 영향을주지 않습니다.

Also, have a look at my answer posted

+0

귀하의 제안은 좋지만 다른 클러스터가 설치 하둡과베이스의 호환 버전이있는 경우에만 유효합니다. 내 경우 버전은 호환되지 않습니다. hadoop-1.0.1 ~ hadoop-2.5.1 및 hbase-0.94.1 ~ hbase-0.98. 이미 옵션 1과 2를 시도했지만 작동하지 않습니다. –

관련 문제