现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等。今天主要记录Phoenix。
phoenix,中文译为“凤凰”,很美的名字。Phoenix是由saleforce.com开源的一个项目,后又捐给了Apache基金会。它相当于一个Java中间件,提供jdbc连接,操作hbase数据表。
但是在生产环境中,不可以用在OLTP中。在线事务处理的环境中,需要低延迟,而Phoenix在查询HBase时,虽然做了一些优化,但延迟还是不小。所以依然是用在OLAT中,再将结果返回存储下来。
下载地址:http://mirror.bit.edu.cn/apache/phoenix/
最新下载的Phoenix文件名中都会标明对应的HBase版本 例: phoenix-4.5.2-HBase-1.1-bin.tar.gz
将phoenix-4.5.2-HBase-1.1-bin.tar.gz 上传hbase集群的其中一个服务器的一个目录下
我上传的目录为/usr/local
tar –zxvf phoenix-4.5.2-HBase-1.1-bin.tar.gz
可看到有个phoenix-4.5.2-HBase-1.1-bin.tar.gz /目录,里面包含了Phoenix的所有文件。
4.1、将phoenix-4.5.2-HBase-1.1-bin/目录下phoenix-core-4.5.2-HBase-1.1.jar、phoenix-4.5.2-HBase-1.1-server.jar拷贝到各个 hbase的lib目录下。
4.2、将hbase的配置文件hbase-site.xml、 Hadoop/etc/hadoop下的core-site.xml 、hdfs-site.xml放到phoenix-4.5.2-HBase-1.1-bin/bin/下,替换Phoenix原来的 配置文件。
4.3、重启hbase集群,使Phoenix的jar包生效。
修改phoenix-4.5.2-HBase-1.1-bin/bin/下的psql.py和sqlline.py两个文件的权限为777
命令:chmod 777 文件名
6.1、在phoenix-4.5.2-HBase-1.1-bin/bin/下输入命令:
#端口可以省略 $ ./sqlline.py node5:2181
如果看到如下界面表示启动成功。
6.2、输入!tables,查看都有哪些表。红框部分是用户建的表,其他为Phoenix系统表,系统表中维护了用户表的元数据信息。
6.3、退出Phoenix。输入!exit命令(PS:Phoenix早期版本如(2.11版本)需输入!quilt才可退出,目前高版本已改为!exit命令)=
squirrel安装文档
从网址http://www.squirrelsql.org/下载相应版本的squirrel的安装jar包,比如下载squirrel-sql-3.7-standard.jar;
Window下安装:
CMD进入Window控制台,输入java -jar squirrel-sql-3.7-standard.jar 显示安装界面:
解压的phoenix-4.5.2-HBase-1.1-bin.tar.gz包的主目录下将如下几个jar包拷贝到squirrel安装目录的lib下,例如本机路径是D:\soft\squirrel-sql-3.7\lib
在安装目录下双击squirrel-sql.bat
点击左侧的Drivers,添加图标
在出现的窗口中填写如下项
Name:就是个名字任意取就可以,这里我叫phoenix
Example:jdbc:phoenix:192.168.57.4,192.168.57.5,192.168.57.6:2181(这里是你的phonenix的jdbc地址,注意端口也可以不写,多个用逗号隔开)
Class Name:org.apache.phoenix.jdbc.PhoenixDriver
点击Aiiasses,点击右边的添加图标
出现以下窗口
这里还是名字随意写,driver要选择刚才配置的可用的driver,我们刚才配置的是phonenix
url这里就是连接phonex的url选择了phonenix的driver以后自动出现也可以改,user name就是phonenix连接的主机的用户名,密码就是该机器的密码,点击自动登录
然后点击test,显示连接成功即可(在这里最好不要直接点OK,先点Test,连接成功了再OK)
注意:这里可能链接不上,原因是C:\Windows\System32\drivers\etc下面的hosts文件没有配置路由表,所有要配置一下,如下图
双击创建的连接即可