phoenix 安装

Phoenix提供以sql的形式读写HBase,以下是相关信息

Apache Phoenix 官方站点:https://phoenix.apache.org/
Phoenix支持的sql语句: https://phoenix.apache.org/language/index.html

Phoenix 支持的DataTypes:https://phoenix.apache.org/language/datatypes.html
Phoenix 支持的函数:https://phoenix.apache.org/language/functions.html

 

安装

下载地址

https://mirrors.tuna.tsinghua.edu.cn/apache/phoenix/

或者

http://phoenix.apache.org/download.html

环境的HBase是2.1的,目前phoenix最高集成到了2.0版本,所以下载最高版本

wget https://mirrors.tuna.tsinghua.edu.cn/apache/phoenix/apache-phoenix-5.0.0-HBase-2.0/bin/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz

之后

tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz

cd apache-phoenix-5.0.0-HBase-2.0-bin/

将 phoenix-5.0.0-HBase-2.0-server.jar 和 phoenix-core-5.0.0-HBase-2.0.jar 放到所有regionserver的lib下,如果有jar的权限问题,则修改jar权限。最后重启HBase即可。

问题

1.regionserver启动失败,出现

ClassNotFoundException: org.apache.htrace.Sampler

或者

ClassNotFoundException: org.apache.htrace.SpanReceiver

是因为没有相关的jar,这里可以通过maven去找到相关的jar

        
            org.apache.htrace
            htrace-core
            3.1.0-incubating
            compile
        

jar下载完成后,去maven仓库找到对应的jar,然后上传到所有regionserver的lib下,如果有jar的权限问题,则修改jar权限。

再重启HBase即可。

2.使用phoenix建表,指定压缩格式为snappy,建表语句如下:

CREATE TABLE IF NOT EXISTS testtabb(
T UNSIGNED_TINYINT,
DNO varchar not null,
RID varchar,
SID UNSIGNED_SMALLINT,
DS  UNSIGNED_TINYINT,
PR varchar ,
CT varchar ,
DT bigint,
UNO varchar,
CONSTRAINT PK PRIMARY KEY (DNO)) SALT_BUCKETS=32, TTL=2592000, compression='snappy';

会报错!!!!! 可以去hmaster后台查看报错信息或者等很久,也会返回报错信息:

No enum constant org.apache.hadoop.hbase.io.compress.Compression.Algorithm.snappy

坑爹,查了好久,才发现,这里的snappy要大写。PS:在1.X版本,是可以小写的。这里我使用的是2.1.1版本的hbase

验证

再 cd bin/

将其中的hbase-site.xml文件替换成集群的hbase-site.xml。

启动命令行

./sqlline.py zk1,zk2,zk3:2181

你可能感兴趣的:(hbase)