1、phoenix的簡(jiǎn)介hbase的java api或者其語法很難用,可以認(rèn)為phoenix是一個(gè)中間件,提供了訪問hbase的另外的語法。本文檔為在CDH環(huán)境上安裝Phoenix。
2、下載CDH版Phoenix
git clone https://github.com/chiastic-security/phoenix-for-cloudera.git
cd phoenix-for-cloudera/
git branch --all
git checkout remotes/origin/4.8-HBase-1.2-cdh5.8
3、編譯mvn clean package -DskipTests -Dcdh.flume.version=1.6.0

4、將編譯打包好后的IdeaWorkspace\phoenix-for-cloudera-4.8-HBase-1.2-cdh5.8\phoenix-assembly\target\phoenix-4.8.0-cdh5.8.0.tar.gz解壓phoenix-4.8.0-cdh5.8.0

5、將phoenix-4.8.0-cdh5.8.0中的phoenix-4.8.0-cdh5.8.0-server.jar拷貝到每一個(gè)RegionServer下/opt/cloudera/parcels/CDH/lib/hbase/lib
6、重啟hbase集群
7、將phoenix-4.8.0-cdh5.8.0放到我們集群中的某個(gè)目錄下,進(jìn)入phoenix-4.8.0-cdh5.8.0/bin目錄,使用sqlline.py連接hbase,成功。
./sqlline.py zk:2181/hbase

8.執(zhí)行上面一步是出現(xiàn)錯(cuò)誤

客戶端 出現(xiàn) hbase.table.sanity.checks 錯(cuò)誤 將該參數(shù) 設(shè)置為false 客戶端正常登錄
<property>
<name>hbase.table.sanity.checks</name>
<value>false</value>
</property>
9.測(cè)試
創(chuàng)建STOCK_SYMBOL表
./sqlline.py zk:2181 ../examples/STOCK_SYMBOL.sql
加載測(cè)試數(shù)據(jù)
./psql.py zk ../examples/WEB_STAT.sql ../examples/WEB_STAT.csv ../examples/WEB_STAT_QUERIES.sql
查詢數(shù)據(jù)
select * from WEB_STAT;

10,創(chuàng)建index
create table TAB_PS_XDR2 ( K VARCHAR NOT NULL PRIMARY KEY, A VARCHAR, B VARCHAR, C VARCHAR, D VARCHAR, V VARCHAR) COMPRESSION='SNAPPY',SALT_BUCKETS=12,TTL='7200',VERSIONS='5';
create index CALLING_NUMBER2 on TAB_PS_XDR2 (A);
create index CALLED_NUMBER2 on TAB_PS_XDR2 (B);
create index IMSI2 on TAB_PS_XDR2 (C);
create index IMEI2 on TAB_PS_XDR2 (D);

<property>
<name>hbase.regionserver.wal.codec</name> <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>