完全分布式HBase集群安装Phoenix

应用场景

通过hbase shell命令开始使用Hbase的时候,发现hbase非常的难用,都是一些scan,status,describe命令等,无法像mysql,oracle,hive等通过一些简单的SQL语句来操作数据,但是通过Phoenix,它可以让Hbase可以通过SQL语句来进行操作。并且Phoenix只针对Hbase,所以它的效率比起Impala,HQL有过之而无不及!

操作步骤

Phoenix介绍
可以把Phoenix理解为Hbase的查询引擎,phoenix,由saleforce.com开源的一个项目,后又捐给了Apache。它相当于一个Java中间件,帮助开发者,像使用jdbc访问关系型数据库一些,访问NoSql数据库HBase。

phoenix,操作的表及数据,存储在hbase上。phoenix只是需要和Hbase进行表关联起来。然后再用工具进行一些读或写操作。

其实,可以把Phoenix只看成一种代替HBase的语法的一个工具。虽然可以用java可以用jdbc来连接phoenix,然后操作HBase,但是在生产环境中,不可以用在OLTP中。在线事务处理的环境中,需要低延迟,而Phoenix在查询HBase时,虽然做了一些优化,但延迟还是不小。所以依然是用在OLAT中,再将结果返回存储下来。

Phoenix安装包下载

phoenix安装包下载地址,下载后上传到主节点的相关目录下!

注:phoenix安装包的下载非常讲究,如果和hbase的版本不匹配,那么可能导致hbase也会失败,导致HRegionServer开启后,1分钟之内自动关闭

phoenix安装包解压缩更换目录

1
tar -xzvf apache-phoenix-4.10.0-HBase-1.2-bin.tar.gz

将hbase-site.xml配置文件拷贝到phoenix的bin目录下【主从节点都需要】

1
# cp /home/spark/app/hbase1.2.6/conf/hbase-site.xml /home/spark/app/phoenix4.10.0/bin/

将phoenix安装包下的包放到hbase的lib目录下【主从节点都需要】

将如下两个jar包,目录在/home/spark/app/phoenix4.10.0/下,拷贝到hbase的lib目录,目录在/home/spark/app/hbase1.2.6/lib/

1
2
phoenix-4.10.0-HBase-1.2-server.jar
phoenix-core-4.10.0-HBase-1.2.jar

注:全部配置完后需要重启Hbase!

启动phoenix

1
# bin/sqlline.py master,slave1,slave2:2181
1
> !tables                 #测试命令

参考

完全分布式Hadoop集群安装Phoenix

打赏

请我喝杯咖啡吧~

支付宝
微信