Phoenix是构建在hbase上的一个关系型数据库
Hbase的语法贼复杂, 麻烦, 我们可以使用我们熟悉的sql语法来操作hbase,这里就需要使用到了phoenix
与Hbase集成
http://phoenix.apache.org/download.html 下载地址
下载对应版本
首先上传安装包,并且解压
tar -zxvf apache-phoenix-4.14.1-HBase-1.1-bin.tar.gz -C /opt/app/
集成首先考虑的是jar包, 需要把如下jar包拷贝到hbase lib中
cp phoenix-4.14.1-HBase-1.1-client.jar /opt/app/hbase-1.3.1/lib/
cp phoenix-core-4.14.1-HBase-1.1.jar /opt/app/hbase-1.3.1/lib/
之后编辑phoenix bin目录中hbase-site.xml配置如下
<configuration>
<property>
<name>hbase.regionserver.wal.codec</name>
<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop01:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop01,hadoop02,hadoop03</value>
</property>
</configuration>
完成上面的步骤之后,重新启动hbase,之后进入到phoenix
./sqlline.py hadoop01:2181
如果报错 No module named argparse
yum install -y python-argparse 即可
然后测试, 使用mysql的方式创建一张表
create table testPhoenix
(
id varchar(50) primary key,
name varchar(50),
password varchar(50)
);
然后查看Hbase, 默认创建完的表名在HBase为大写
测试往表中插入数据
upsert into user(id,name,password)values('1001','admin','admin');
插入成功之后,可以查询数据如下
select * from testPhoenix;
然后我们Phoenix与hbase的 整合就完成了.