기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이전 HBase 버전에서 마이그레이션
이전 HBase 버전에서 데이터를 마이그레이션하려면 Apache HBase 참조 설명서의 Upgrading
Amazon EMR 버전 7.4.0 이상으로 마이그레이션
참고
7.4.0 이전의 EMR 릴리스에서 7.3.0 이상의 릴리스로 마이그레이션하는 경우 다음 지침을 따르세요.
현재 버전 6.2.0~7.3.0에 포함된 Amazon의 Store File Tracking 기능이 활성화된 EMR 버전을 실행 중이고 7.3.0 이후 EMR 버전에서 사용할 수 있는 OSS Store File Tracking이 있는 버전으로 업그레이드하려는 경우 다음 단계를 따르세요.
기존 클러스터에서:
hbase:storefile테이블을 비활성화합니다.hbase:storefile테이블을 삭제합니다.Flush
hbase:meta.메타데이터가 업데이트될 때까지 기다립니다.
새 클러스터에서:
루트 디렉터리와 동일한 Amazon S3 디렉터리를 설정합니다.
DefaultStoreFileTracker구현을 통해 클러스터를 시작합니다.{ "Classification": "hbase-site", "Properties": { hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.DefaultStoreFileTracker" } }테이블 또는 열 패밀리 수준에서 다음 명령을 사용하여 저장 파일 트래커를 변경합니다.
테이블 또는 테이블 열 패밀리의 Store File Tracker를 변경합니다.
hbase> change_sft 't1','FILE' hbase> change_sft 't2','cf1','FILE'지정된 정규식(정규식)과 일치하는 테이블의 Store File Tracker를 모두 변경합니다.
hbase> change_sft_all 't.*','FILE' hbase> change_sft_all 'ns:.*','FILE' hbase> change_sft_all 'ns:t.*','FILE'
읽기 전용 복제본 클러스터를 사용하여 Amazon S3 클러스터의 HBase를 Amazon EMR 버전 7.12.0 이상으로 마이그레이션
EMR 7.12.0부터 Amazon S3 클러스터의 읽기 전용 복제본 HBase를 읽기 전용 모드에서 활성 모드로 전환하여 읽기 및 쓰기 작업을 모두 활성화할 수 있습니다. 이 기능은 두 개의 새로운 HBase 셸 명령을 통해 제공됩니다.
readonly_state클러스터의 현재 읽기-쓰기 운영 상태를 검색합니다.
출력:
비활성 - 클러스터가 읽기 전용 모드이고 쓰기가 비활성 상태입니다.
ACTIVE - 클러스터는 읽기 및 쓰기 작업을 모두 지원합니다.
readonly_switch전환 프로세스에 대해 구성 가능한 옵션을 사용하여 읽기 전용 모드를 활성화하거나 비활성화합니다.
구문:
readonly_switch <readonly>,<force_flush>,<force_refresh_meta>,<force_refresh_hfile>파라미터:
readonly(필수) - 읽기 전용 모드를 활성화(true) 또는 비활성화(false)하는 부울 값
force_flush(선택 사항) - 활성 모드에서 읽기 전용 모드로 전환하기 전에 데이터 플러시를 강제 적용합니다(기본값: true).
force_refresh_meta(선택 사항) - 읽기 전용 모드에서 활성 모드로 전환할 때 메타 테이블 새로 고침을 강제 적용합니다(기본값: true).
force_refresh_hfile(선택 사항) - 읽기 전용 모드에서 활성 모드로 전환할 때 HFile 새로 고침을 강제 적용합니다(기본값: true).
마이그레이션 단계
현재 Amazon S3 클러스터에서 EMR 6.0.0+ HBase를 실행 중이고 EMR 7.12.0 이상 클러스터로 마이그레이션하려는 경우 다음 단계를 따르세요.
hbck 보고서를 사용하거나 HBase 마스터 UI의 고정 프로시저를 사용하여 소스 클러스터가 불일치 없이 안정적인 상태인지 확인합니다.
sudo -u hbase hbase hbck > hbck_report.txt소스 클러스터에 SPLIT 상태의 리전이 없는지 확인합니다.
SPLIT 상태에 리전이 있는 경우 각 테이블에서 메이저 압축을 실행하고 완료될 때까지 기다립니다.
major_compact <table_name>압축이 완료된 후 HBase 쉘
catalogjanitor_run에서 실행
소스 클러스터와 동일한 Amazon S3 위치를 가리키는 읽기 전용 복제본으로 구성된 새 EMR 7.12.0+ 클러스터를 생성합니다. 읽기 전용 복제본 클러스터를 설정하는 방법에 대한 자세한 내용은이 블로그
를 참조하세요. OSS 스토어 파일 추적으로 업그레이드하려는 경우 위 단계에 언급된 대로 DefaultStoreFileTracker 구성으로 새 클러스터를 시작합니다. 마스터 노드가 완전히 초기화될 때까지 기다립니다. 테이블을 읽고 새 클러스터가 읽기 전용 모드인지 확인하여 데이터 액세스 가능성 확인
hbase:001:0> readonly_state Took 0.4612 seconds => "INACTIVE"소스 클러스터에서 밸런싱 및 압축을 비활성화합니다.
echo "balance_switch false" | hbase shell echo "compaction_switch false" | hbase shell읽기 전용 복제본 클러스터 UI에 중복/불일관성이 표시되지 않는지 확인하고 리전에 OPEN 상태가 표시되고 올바르게 할당되었는지 확인합니다.
FileBasedTracker로 변경하려면 위 섹션에 언급된 읽기 전용 복제본 클러스터의 명령을 사용하여 파일 추적 저장을 변환합니다.
소스 클러스터를 가리키는 작업을 중지하고 모든 테이블을 플러시한 다음 소스 클러스터를 종료합니다. 계속하기 전에 종료가 완료될 때까지 기다립니다.
echo "flush 'usertable'" | hbase shell echo "flush 'hbase:meta'" | hbase shell echo "flush 'hbase:namespace'" | hbase shell읽기 전용 복제본 클러스터를 활성 모드로 전환하여 쓰기 작업을 활성화합니다. 이 단계를 완료하면 새 클러스터가 읽기 및 쓰기 작업을 모두 지원하며 마이그레이션이 완료됩니다.
hbase:010:0> readonly_switch false Took 38.1568 seconds새 클러스터에서 쓰기를 검증하고 모든 리전이 요청을 처리하고 있는지 확인합니다.
참고
언제든지 Amazon S3 위치를 가리키는 활성 클러스터는 하나만 있을 수 있습니다. 따라서 읽기 전용 복제본을 활성으로 전환하는 작업은 소스 클러스터가 종료된 후에만 수행해야 합니다.