Big Data/HBase&Phoenix

Phoenix - 설치

신씅 2016. 8. 29. 14:06
Phoenix 는 NoSQL 데이터베이스인 HBase 를 관계 데이터베이스 처럼 사용할 수 있게 하는 오픈소스입니다.
표준 SQL, JDBC API, ACID 트랜잭션등을 제공합니다.

그럼 설치 방법에 대해 알아보겠습니다. (HBase는 stand-alone 또는 distrbuted 모드로 설치가 완료된 상태라고 가정합니다.)

설치

1. 먼저 phoenix 바이너리 버전을 다운로드 받습니다.
(hbase 버전과 호환되는 버전을 받아야 합니다.)

$ wget http://mirror.apache-kr.org/phoenix/apache-phoenix-4.8.0-HBase-1.1/bin/apache-phoenix-4.8.0-HBase-1.1-bin.tar.gz

2.  다운로드 파일의 압축을 해제합니다.

$ tar zxvf apache-phoenix-4.8.0-HBase-1.1-bin.tar.gz

3. phoenix 에 포함된 phoenix server 라이브러리를 region 서버가 설치 된 모든 노드의 hbase 라이브러리 디렉토리 에 복사합니다.
(phoenix-4.8.0-HBase-1.1-server.jar)

$ cp ~/apache-phoenix-4.8.0-HBase-1.1-bin/phoenix-4.8.0-HBase-1.1-server.jar $HBASE_HOME/lib

4. HBase 를 재시작 합니다. 

실행

Phoenix 설치 파일에 포함된 sqlline 기반으로 제작된 클라이언트로 실행합니다.

1. HBase 가 stand-alone 모드인 경우

$ ~/apache-phoenix-4.8.0-HBase-1.1-bin/bin/sqlline.py localhost

2. HBase 가 dstributed 모드인 경우

$ ~/apache-phoenix-4.8.0-HBase-1.1-bin/bin/sqlline.py <zookeeper_quorum>:<zookeeper_port>:<zookeeper.znode>

3. 실행결과 & 테스트 쿼리
$ bin/sqlline.py bdsdevdata01:2181:/hbase-unsecure
 
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:bdsdevdata01:2181:/hbase-unsecure none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:bdsdevdata01:2181:/hbase-unsecure
16/08/29 13:59:51 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Connected to: Phoenix (version 4.8)
Driver: PhoenixEmbeddedDriver (version 4.8)
Autocommit status: true
Transaction isolation: TRANSACTION_READ_COMMITTED
Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
1079/1079 (100%) Done
Done
sqlline version 1.1.9
0: jdbc:phoenix:bdsdevdata01:2181:/hbase-unse> select * from test11;
+--------+-----------+
| MYKEY  | MYCOLUMN  |
+--------+-----------+
| 1      | Hello     |
| 2      | World!    |
+--------+-----------+
2 rows selected (0.064 seconds)
cs