美文网首页
squirrel +Phoenix win客户端访问hbase

squirrel +Phoenix win客户端访问hbase

作者: baker_dai | 来源:发表于2018-06-25 15:35 被阅读0次

    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

    我们选择是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请自行安装)

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

    上传至后台Hbase主机。

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

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

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

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

    说明此时连接上了。

    Squirrel配置:

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

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

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

    本次下载了最新的version 3.8.1。

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

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

    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

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

    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进行保存。

    6)连接创建:连接Phoenix

       点击Aliases,单击+号[

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

    Driver:选择我们刚创建的phoenix

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

    Passworkd:登录主机密码

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

    登录成功的界面。

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

    注:

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

    需要进行映射。

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

    相关文章

      网友评论

          本文标题:squirrel +Phoenix win客户端访问hbase

          本文链接:https://www.haomeiwen.com/subject/uceyyftx.html