[hbase] phoenix 연계 및 실행 방법
·
빅데이터/hbase
Apache Phoenix는 HBase 위에서 SQL 쿼리를 사용할 수 있게 해주는 오픈소스 프로젝트입니다. HBase라는 NoSQL 데이터베이스 위에 RDBMS 스타일의 SQL 인터페이스를 제공하는 레이어입니다. 원래 HBase는 Key-Value 기반의 비정형 테이블이어서 SQL 같은 쿼리 언어가 없는데, Phoenix는 HBase의 데이터를 JDBC를 통해 SQL로 조회하거나 수정할 수 있게 해주는 도구입니다. 설치HBase 2.6에 Phoenix 5.2.1 을 설치 하는 방법은 ${HBASE_HOME}/lib 아래에 Phoenix 라이브러리를 추가 하면 됩니다. ${PHOENIX_HOME}/phoenix-server-hbase-2.6-5.2.1.jar 의 라이브러리를 ${HBASE_HOME}/li..
[hbase] hbase 2.4.13 실행 중 java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.hdfs.protocol.HdfsFileStatus, but class was expected 오류
·
빅데이터/hbase
HBase 2.4.13 을 hadoop 3와 연동하는 중에 해당 오류가 발생하였습니다. java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.hdfs.protocol.HdfsFileStatus, but class was expected 2022-08-12 11:17:02,520 WARN [RS-EventLoopGroup-1-2] concurrent.DefaultPromise: An exception was thrown by org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper$4.operationComplete() java.lang.IllegalArgume..
[HBase] java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures 오류 처리
·
빅데이터/hbase
하둡 2.10.1 버전에 HBase 1.7.1 버전을 설치할 때 다음과 같은 오류가 발생하였습니다. 2022-04-20 10:37:11,640 FATAL [bigdata-hadoop-master-1:16000.activeMasterManager] master.HMaster: Failed to become active master java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config va..
[hbase] hbase shell에서 데이터 필터링
·
빅데이터/hbase
hbase shell에서 데이터를 조회할 때 특정 데이터를 필터링 할 수 있습니다.
[hbase] hbase shell에서 ruby 를 이용하여 샘플 데이터 입력
·
빅데이터/hbase
hbase shell은 ruby 스크립트를 지원합니다. 테스트를 위한 샘플 데이터를 간단하게 입력하고 테스트할 수 있습니다.
[hbase] 커버로스 적용된 hbase에서 발생하는 No common protection layer between client and server 오류
·
빅데이터/hbase
커버로스 적용 된 HBase 에서 다음과 같은 오류가 발생하는 경우가 있습니다. 이 오류는 hbase-site.xml의 hbase.rpc.protection 설정이 다를때 발생할 수 있습니다. hbase는 authentication으로 설정되고, 사용자는 privacy 설정오르 접근 할 때 발생할 수 있습니다. 즉 서버의 hbase.rpc.protection 설정과 클라이언트의 hbase.rpc.protection 설정을 동일하게 해주면 됩니다. hbase.rpc.protection authentication 채널이 암호화되고 인증, 무결성 및 개인 정보 보호 기능이 활성화됩니다 integrity 채널이 암호화되지 않고 인증 및 무결성 기능만 활성화됩니다. privacy 채널이 암호화되지 않고 패킷만 인..
[hbase] org.hbase.async.RemoteException: Call queue is full on hbase,16020,1623386114491, too many items queued ? 오류 발생시 설정
·
빅데이터/hbase
hbase를 운영하면서 call queue is full on 오류가 발생하는 경우가 있습니다. 이 오류가 발생하면 리전서버의 핸들러 개수를 늘리거나, callqueue factor를 조절하여 문제를 해결할 수 있습니다. hbase-site.xml 설정 hbase.regionserver.handler.count 리전서버의 데이터 처리를 위해 생성하는 스레드 수 스레드는 CPU의 2배로 설정하는 것이 적당 함 hbase.ipc.server.callqueue.handler.factor callqueue를 사용하는 핸들러들이 몇개의 큐를 사용할 지 선언 0은 모든 핸들러가 큐를 공유 1은 핸들러에 큐가 따로 있음 0.5는 2개의 핸들러가 큐를 공유( 1개 큐 / 2개 핸들러)
[hbase2] HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution 오류
·
빅데이터/hbase
hbase 2.3.5를 설정하면서 실행에는 문제가 없지만 다음과 같은 경고가 출력되었습니다. ++ /opt/hadoop/bin/hadoop org.apache.hadoop.hbase.util.GetJavaProperty java.library.path /opt/hadoop-3.2.1/bin/../libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution /opt/hadoop-3.2.1/bin/../libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_..
[hbase] hbase를 이용한 데이터 export 중 No registered coprocessor service found for name AuthenticationService in region hbase:meta,,1 오류
·
빅데이터/hbase
커버로스(kerberos) 설정된 hbase에 export 명령을 실행할 때는 hbase-site.xml에 토큰을 이용한 인증 설정이 있어야 hbase가 처리할 수 있습니다. 다음 오류가 발생하면 hbase-site.xml에 설정을 추가하고 hbase를 재부팅합니다. Caused by: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: No registered coprocessor service found for name AuthenticationService in region hbase:meta,,1 at org.apache.hadoop..
[hbase] desc 명령으로 hbase 테이블 생성하는 방법
·
빅데이터/hbase
hbase에는 생성된 테이블 create 문을 확인할 수 있는 일반 RDB나 hive의 show create table 같은 명령이 없습니다. hbase는 desc 명령을 이용해서 테이블의 정보를 확인하고, 이 정보를 이용해서 테이블을 생성해야 합니다.
[hbase] hbase의 ExportSnapshot 중 java.lang.IllegalAccessError: tried to access method org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider.getProxyInternal 오류 처리
·
빅데이터/hbase
hbase 1.4.13버전과 Hadoop 2.10.0 버전을 이용하는 환경에서 ExportSnapshot 처리중 다음과 같은 오류가 발생했습니다. Exception in thread "main" java.lang.IllegalAccessError: tried to access method org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider.getProxyInternal()Ljava/lang/Object; from class org.apache.hadoop.yarn.client.RequestHedgingRMFailoverProxyProvider at org.apache.hadoop.yarn.client.RequestHedgingRMFailove..
[hbase] org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 오류
·
빅데이터/hbase
HBase 작업 중 Master is initializing 오류가 발생하는 경우가 있습니다. 마스터가 초기화 중일 때 리전 서버가 연결되지 않았을 때 리전서버가 마스터에 연결되지 않았을 때 /etc/hosts 정보가 설정되지 않았을 HBase는 마스터와 리전서버간에 모든 서버의 정보를 각 노드가 알고 있어야 함. 리버스 DNS가 처리되지 않는 환경이라면 /etc/hosts에 정보가 있어야 함 블록 정보를 아직 처리중 일 때 데이터가 깨졌을 때 HDFS의 데이터를 삭제하고 재부팅 주키퍼의 hbase 정보를 삭제하고 재부팅
[hbase] HBase에 ACL 적용
·
빅데이터/hbase
hbase는 기본적으로 ACL을 설정하지 않습니다. ACL을 설정하지 않으면 관련 명령어를 실행할 때 ERROR: DISABLED: Security features are not available 오류가 발생합니다. hbase 에서 ACL을 적용하기 위해서는 hbase-site.xml에 다음 설정을 추가합니다. 그리고 hbase를 재부팅 하면 됩니다. hbase에 ACL을 적용하면 접근할 수 있는 테이블만 보이고, 권한이 있는 네임스페이스에 테이블을 생성할 수 있습니다. HBase ACL 명령어 ACL관련 명령어는 다음과 같습니다.
[HBase] Reported time is too far out of sync with master 오류 해결 방법
·
빅데이터/hbase
오류 HBase 리전서버 실행중 아래와 같이 Reported time is too far out of sync with master. Time difference of 52328ms > max allowed of 30000ms 오류가 발생하였습니다. 2020-12-02 14:22:15,357 INFO [regionserver/:16020] regionserver.HRegionServer: STOPPED: Unhandled: org.apache.hadoop.hbase.ClockOutOfSyncException: Server ,16020,1606886533858 has been rejected; Reported time is too far out of sync with master. Time differen..