Phoenix를 사용하여 HBase 읽기 전용 복제본 Amazon EMR 클러스터를 실행할 때 발생하는 "리전 경계 캐시가 더 이상 사용되지 않음" 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Apache Phoenix를 사용하여 Amazon EMR 읽기 전용 복제본 클러스터의 Apache HBase에 연결할 때 다음과 유사한 오류 메시지가 표시됩니다. Error: ERROR 1108 (XCL08): Cache of region boundaries are out of date. (state=XCL08,code=1108) org.apache.phoenix.schema.StaleRegionBoundaryCacheException: ERROR 1108 (XCL08): Cache of region boundaries are out of date. at org.apache.phoenix.exception.SQLExceptionCode$14.newException(SQLExceptionCode.java:365) at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:150) at org.apache.phoenix.util.ServerUtil.parseRemoteException(ServerUtil.java:189) at org.apache.phoenix.util.ServerUtil.parseServerExceptionOrNull(ServerUtil.java:169) at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:140)

간략한 설명

Phoenix는 기본적으로 hbase:meta에 연결하려고 합니다. 그러나 hbase:meta 테이블이 기본 클러스터에 속하기 때문에 Phoenix는 읽기 전용 복제본 클러스터에 연결할 수 없습니다. 이 문제를 해결하려면 hbase-site.xml을 수정하여 HBase 읽기 전용 복제본 클러스터에 속하는 hbase:meta_cluster-id를 가리키십시오.

해결 방법

시작하기 전에 먼저 Phoenix가 기본 클러스터 및 읽기 전용 복제본 클러스터에 설치되어 있는지 확인하십시오. Phoenix가 기본 클러스터에 설치되어 있지 않은 경우 읽기 전용 복제본 클러스터에서 HBase에 연결할 수 없습니다.

실행 중인 클러스터의 경우

1.    다음 구성을 프라이머리 노드의 HBase 구성 파일 ( /etc/phoenix/conf/hbase-site.xml)에 추가합니다. cluster-id를 읽기 전용 복제본 클러스터 ID로 대체합니다.

<property>
   <name>hbase.balancer.tablesOnMaster</name>
   <value>hbase:meta</value>
</property>
<property>
   <name>hbase.meta.table.suffix</name>
   <value>cluster-id</value>
</property>

2.    Phoenix 서비스를 다시 시작합니다.

Amazon EMR 릴리스 버전 5.29 이하의 경우:

sudo stop phoenix-queryserver
sudo start phoenix-queryserver

Amazon EMR 릴리스 버전 5.30 이상의 경우:

sudo systemctl stop phoenix-queryserver.service
sudo systemctl start phoenix-queryserver.service

Amazon EMR 릴리스 버전 5.2.1.0 이상에서는 마스터 인스턴스 그룹의 클러스터 구성을 재정의하여 이 구성을 변경할 수도 있습니다.

1.    Amazon EMR 콘솔을 엽니다.

2.    클러스터 목록에서 재구성할 활성 읽기 전용 복제본 클러스터를 선택합니다.

3.    해당 클러스터의 클러스터 세부 정보 페이지를 열고 [구성] 탭으로 이동합니다.

4.    필터 드롭다운 목록에서 마스터 인스턴스 그룹을 선택합니다.

5.    재구성 드롭다운 목록에서 테이블에서 편집을 선택합니다.

6.    구성 추가를 선택한 후, 다음의 두 구성을 추가합니다.

분류: phoenix-hbase-site
속성: hbase.balancer.tablesOnMaster
: hbase:meta

분류: phoenix-hbase-site
속성: hbase.meta.table.suffix
: ${emr.clusterId}

7.    변경 사항 저장을 선택합니다.

이 프로세스에 대한 자세한 내용은 콘솔에서 인스턴스 그룹에 대해 재구성을 참조하십시오.

새 클러스터의 경우

Amazon EMR 릴리스 버전 4.6.0 이상을 사용하여 클러스터를 시작하는 경우에는 다음과 유사한 구성 객체를 추가하세요.

[
  {
    "Classification": "phoenix-hbase-site", 
    "Configurations": [
      ], 
    "Properties": {
      "hbase.balancer.tablesOnMaster" : "hbase:meta",
      "hbase.meta.table.suffix" : "${emr.clusterId}"
      }
  },
  {
    "Classification": "hbase-site", 
    "Configurations": [
      ], 
    "Properties": {
      "hbase.meta.table.suffix" : "${emr.clusterId}"
      }
  }
]

관련 정보

Amazon S3 기반 HBase(Amazon S3 스토리지 모드)

Apache Phoenix

AWS 공식
AWS 공식업데이트됨 9달 전
댓글 없음

관련 콘텐츠