天天看点

Phoenix组件安装及使用DBeaver工具进行远程连接

目录

一、Phoenix简介

二、Phoenix下载安装

1.Phoenix下载

2.Phoenix集成流程

三、使用DBeaver客户端工具远程连接Phoenix

一、Phoenix简介

What is this new Phoenix thing I’ve been hearing about?

Phoenix is an open source SQL skin for HBase. You use the standard JDBC APIs instead of the regular HBase client APIs to create tables, insert data, and query your HBase data.

因为HBase分布式NOSQL数据库其语法不规则,操作起来不符合我们对SQL的认知,所以,根据Phoenix官方的介绍:Phoenix是一个开源的HBase的SQL皮肤,我们可以使用JDBC接口标准协议去操作HBase数据库,替代HBase客户端不规则的API,比如:建表、插入数据和查询数据。其实Phoenix就是将HBase封装了一个外壳,发动机还是HBase,其提供标准类SQL语句方便操作,并且做了一些HBase访问底层优化,比如:scan扫描、二级索引优化等,但是在生产环境中,不可以用在OLTP(在线事务处理)中。在线事务处理的环境中,需要低延迟,而Phoenix在查询HBase时,虽然做了一些优化,但延迟还是不小,所以依然是用在OLAP(联机分析处理)中,再将结果返回存储下来。

二、Phoenix下载安装

1.Phoenix下载

根据自己的HBase版本,下载对应的Phoenix版本tar包:phoenix-hbase-[hbase-version]-[phoenix-version]-bin.tar.gz,Phoenix官网下载地址:http://phoenix.apache.org/download.html 

2.Phoenix集成流程

  1. 前提环境需要自行保证HBase已经安装完成
  2. 将下载好的phoenix安装包上传并解压

    [[email protected] package]$ tar -zxvf phoenix-hbase-2.1-5.1.1-bin.tar.gz -C ../core/

    [[email protected] package]$ cd /home/hadoop/core/phoenix-hbase-2.1-5.1.1-bin/

    [[email protected] package]$ cp phoenix-server-hbase-2.1-5.1.1.jar /home/hadoop/core/hbase-2.1.2/lib/

    Phoenix组件安装及使用DBeaver工具进行远程连接
                                                                                                                                                                                                              备注:将jar包分发到HBase所有master和region server节点lib下
  3. 配置系统环境变量 

    [[email protected] package]$ vim .bashrc

    export PHOENIX_HOME=/home/hadoop/core/phoenix-hbase-2.1-5.1.1-bin

    export PHOENIX_CLASSPATH=$PHOENIX_HOME

    export PATH=$PATH:$PHOENIX_HOME/bin

  4. 重启HBase集群
  5. 启动Phoenix

    [[email protected] bin]$ sqlline.py hadoop01,hadoop02,hadoo03:2181

    Phoenix组件安装及使用DBeaver工具进行远程连接
  6. 查看显示所有表
    Phoenix组件安装及使用DBeaver工具进行远程连接
  7. 退出客户端命令

    0: jdbc:phoenix:hadoop01:2181> !exit

三、使用DBeaver客户端工具远程连接Phoenix

  1. 下载DBeaver,下载地址:https://dbeaver.io/download/
  2. 打开DBeaver客户端工具,点击菜单栏的数据库=====》新建连接
    Phoenix组件安装及使用DBeaver工具进行远程连接
  3. 选择分类中的Hadoop/BigData,然后选择Apache Phoenix选项,然后点击下一步
    Phoenix组件安装及使用DBeaver工具进行远程连接
  4. 填写zk对应主机名称及端口2181
    Phoenix组件安装及使用DBeaver工具进行远程连接
  5. 点击测试链接,然后点击下载驱动jar包
    Phoenix组件安装及使用DBeaver工具进行远程连接
  6. 解决DBeaver连接错误:org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback not org.apache.hadoop.security.GroupMappingServiceProvider
    Phoenix组件安装及使用DBeaver工具进行远程连接
    解决方法:在DBeaver工具的安装目录下,找到dbeaver.ini文件,在文件中添加windows安装的jdk环境
    Phoenix组件安装及使用DBeaver工具进行远程连接
    在dbeaver.ini文件中添加jdk安装目录,如下图所示,自行修改jdk路径:
    -vm
    D:\SoftwareInstall\Java\jdk1.8.0_144\bin   --jdk安装路径
               
    Phoenix组件安装及使用DBeaver工具进行远程连接
  7. 再次点击测试链接,报错:Outdated jars. Newer Phoenix clients can't communicate with older Phoenix servers. The following servers require an updated phoenix-[version]-server.jar to be put in the classpath of HBase
    Phoenix组件安装及使用DBeaver工具进行远程连接
    Phoenix组件安装及使用DBeaver工具进行远程连接
    Phoenix组件安装及使用DBeaver工具进行远程连接
    备注:Phoenix的客户端连接驱动jar包就在我们解压的phoenix安装目录下!
    Phoenix组件安装及使用DBeaver工具进行远程连接
    Phoenix组件安装及使用DBeaver工具进行远程连接
  8. 如下图所示,我们使用DBeaver工具连接phoenix就成功完成了,下面就可以在DBeaver中正常写SQL操作Phoenix啦
    Phoenix组件安装及使用DBeaver工具进行远程连接

总结:Phoenix自带的客户端工具 squirrel-sql 比较简陋,使用DBeaver工具体验感会好很多!