squirrel +Phoenix win客户端访问hbase

1 背景

最近涉及到的项目,同事在问hbase有没有类似于mysql的客户端,像关系数据库的语法操作在“NoSql“类型的库上。经查询资料遗憾的Hbase本身是暂不支持SQL查询及二级索引的。

2、简介

Hbase本身不支持SQL 查询,但还有它方式可以实现,如Hive,Impala,Phoenix等,众多方案各有优势,本文我们就对Phoenixf进行介绍

   Apache Phoenix组件 官方注解为 “Phoenix -we put the SQL back in NoSql” 通过官方说明,Phoenix 的性能很高,相对于 hbase 原生的scan 并不会差多少,而对于类似的组件 hive、Impala等,性能有着显著的提升。

  官网:https://phoenix.apache.org/performance.html

二、安装部署

  1)环境说明:

     Master 10.209.10.206

       --Hmaster:active

     Master 10.209.10.207

       --Hmbase:standby

    Slave  10.209.10.208

       --Hregionservrer

     Slave 10.209.10.210

       --Hregionservrer

 Slave 10.209.10.212

   --Hregionservrer

2)测试中安装的hadoop ,Hbase 均为CDH版本,所以本次我们也安装phoenix for cloudera版本

Hadoop 版本


Hbase 版本


由于phoenix for

CDH 版本没有编译好的可执行文件,需要自己下载编译

Github:https://github.com/chiastic-security/phoenix-for-cloudera/tree/4.6-HBase-1.0-cdh5.5


squirrel +Phoenix win客户端访问hbase_第1张图片

我们选择是phoeix4.6-Hbase-1.0-cdh5.5的然后clone or download到本地。

我们选择MVN进行编译:

编译:

[if !supportLists]1>  [endif]解压下载的source源代码的压缩文件。

[if !supportLists]2>  [endif]打开文件下的build.txt,根据里面的编译步骤进行编译。

[if !supportLists]3>  [endif]本次编译使用的mvn clean package -DskipTests (maven请自行安装)


squirrel +Phoenix win客户端访问hbase_第2张图片

编译后的文件,phoenix-for-cloudera-4.6-HBase-1.0-cdh5.5\phoenix-assembly\targt目录下。


squirrel +Phoenix win客户端访问hbase_第3张图片

上传至后台Hbase主机。

[if !supportLists]1>       [endif]解压缩后,把phoenix-4.6.0-cdh5.5.1-server.jar包复制regionserver 主机.


squirrel +Phoenix win客户端访问hbase_第4张图片

[if !supportLists]2>  [endif]重启Hbase

[if !supportLists]3>  [endif]测试是否可以正常连接,通过bin/sqlline.py进行连接sqlline.py后台的地址是zookeeper的地址及端口。


可以通过select 进行查询了(注意:表名要加“” 因为Hbase区分大小写,会把小写自动转为大字字母。)


squirrel +Phoenix win客户端访问hbase_第5张图片

说明此时连接上了。

Squirrel配置:

  Squirrel是一个界面化连接Hbase的一个工具。

[if !supportLists]1)    [endif]下载Squirrel

官网地址:http://www.squirrelsql.org/

本次下载了最新的version 3.8.1。

  2)下载到本地为一个jar包,双击执行


根据安装界面提示进行下一步安装。

squirrel +Phoenix win客户端访问hbase_第6张图片

3)安装完squirrel后进行配置,把Phoenix目录下几个包要复制到squirrel/lib目录下。

  phoenix-4.6.0-cdh5.5.1-client.jar

  phoenix-4.6.0-cdh5.5.1-client-minimal.jar

  phoenix-core-4.6.0-cdh5.5.1.jar

phoenix-server-4.6.0-cdh5.5.1.jar

phoenix-server-client-4.6.0-cdh5.5.1.jar

phoenix-4.6.0-cdh5.5.1-server.jar


4)启动quirrel 双击squirrel-sql.bat

squirrel +Phoenix win客户端访问hbase_第7张图片

5)在启动成功后的界面中单南Drivers

squirrel +Phoenix win客户端访问hbase_第8张图片
squirrel +Phoenix win客户端访问hbase_第9张图片

Name:随便写我们这个为phoenix

Example URL:连接的驱动类型及地址:jdbc:phoenix:10.209.10.212:11001

Java class path:我们选择:phoenix-4.6.0-cdh5.5.1-server.jar

Class name:org.apache.phoenix.jdbc.PhoenixDriver

完毕,点击OK进行保存。

squirrel +Phoenix win客户端访问hbase_第10张图片

6)连接创建:连接Phoenix

   点击Aliases,单击+号[

squirrel +Phoenix win客户端访问hbase_第11张图片

Name:随便写,我们这儿写hbase

Driver:选择我们刚创建的phoenix

User name:为登录主机的用户名

Passworkd:登录主机密码

可以勾选Auto logon 进行自动登录。

登录成功的界面。

squirrel +Phoenix win客户端访问hbase_第12张图片

在SQL窗口可进行select 语句的编写,如下图。

squirrel +Phoenix win客户端访问hbase_第13张图片

注:

在后台Hhbase shell中创建的表,在前台通过squirrel连接phoenix这种 方式是看不到的。

需要进行映射。

在squirrel中创建同名同结构的表即可,数据会自动关联映射。

你可能感兴趣的:(squirrel +Phoenix win客户端访问hbase)