更新时间:2024-08-06 GMT+08:00
分享

使用DBeaver访问Phoenix

本章节以DBeaver 6.3.5版本为例,讲解如何访问MRS 3.1.0未开启Kerberos认证的集群,且该集群的HBase服务未开启Ranger鉴权。

前提条件

操作步骤

  1. 向DBeaver安装目录下的“dbeaver.ini”文件中增加JDK 1.8.0_x的bin目录,例如:C:\Program Files\Java\jdk1.8.0_121\bin,则新增如下内容:

    图1 新增JDK的bin目录

  2. https://archive.apache.org/dist/phoenix/apache-phoenix-5.0.0-HBase-2.0/bin/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz中下载Phoenix软件包并解压,获取“phoenix-5.0.0-HBase-2.0-client.jar”。
  3. 从客户端安装节点上的“客户端安装目录/HBase/hbase/conf”目录下下载“hbase-site.xml”文件。使用压缩软件打开2获取到的“phoenix-5.0.0-HBase-2.0-client.jar”,将“hbase-site.xml”拖拽到该Jar文件中。
  4. 打开DBeaver,选择“文件 > 新建 > DBeaver > 数据库连接”。

    图2 创建数据库连接

  5. 单击“下一步”,在选择新连接类型界面选中“Apache Phoenix”并单击“下一步”。

    图3 选择数据连接类型

  6. 单击“编辑驱动设置”。

    图4 编辑驱动设置

  7. 单击“添加文件”,选择准备好的“phoenix-5.0.0-HBase-2.0-client.jar”,如果有多个驱动包,需先删除,只保留手动添加的“phoenix-5.0.0-HBase-2.0-client.jar”。

    图5 删除原有的驱动包
    图6 添加Phoenix Jar包

  8. 单击“找到类”,加载完成后在左侧框中选择“org.apache.phoenix.jdbc.PhoenixDriver”。

    图7 加载驱动类

  9. 添加Zookeeper Base Path。

    1. 登录FusionInsight Manager,选择“集群 > 服务 > HBase”,单击“HMaster WebUI”右侧的超链接,登录HBase WebUI界面,搜索“Zookeeper Base Path”,并获取该值,如下图所示“Zookeeper Base Path”的值为“/hbase”:
      图8 查看Zookeeper Base Path
    2. 将“ZooKeeper Base Path”值配置到URL模板中,即在原有的URL地址后面增加“:/hbase”即可,并单击确定:
      图9 配置URL模板

  10. 配置EIP。如果本地Windows与集群之间网络不通,需要为每个HBase节点以及ZooKeeper节点配置EIP,并且在本地Windows的hosts文件添加所有节点的公网IP对应主机域名的映射关系,例如:

    如果使用的是Windows云服务器,并且与集群的网络是通的,则无需配置EIP。

  11. 登录FusionInsight Manager,选择“集群 > 服务 > ZooKeeper > 实例”。

    选择任一节点,将该节点对应的EIP填入主机框中(如果使用的是Windows云服务器,并且与集群的网络是通的,直接填写节点的业务IP地址即可)。

    图10 配置主机

  12. 单击“测试连接”,如图10 测试连接所示表示对接成功,单击“确定”。

    图11 测试连接

  13. 以客户端安装用户登录安装HBase客户端的节点,执行以下命令创建新的命名空间MY_NS

    cd 客户端安装目录

    source bigdata_env

    hbase shell

    create_namespace "MY_NS"

  14. 打开DBeaver,选择“SQL编辑器 > 新建SQL编辑器”,即可执行相关SQL语句,例如:

    1. 在编辑器中输入以下命令并选择“SQL 编辑器 > 执行 SQL 语句”,即可在default中创建表TEST

      CREATE TABLE IF NOT EXISTS TEST (id VARCHAR PRIMARY KEY, name VARCHAR);

      UPSERT INTO TEST(id,name) VALUES ('1','jamee');

    2. 在编辑器中输入以下命令并选择“SQL 编辑器 > 执行 SQL 语句”,即可在MY_NS中创建表TEST并插入数据:

      CREATE TABLE IF NOT EXISTS MY_NS.TEST (id integer not null primary key, name varchar);

      UPSERT INTO MY_NS.TEST VALUES(1,'John');

      UPSERT INTO MY_NS.TEST VALUES(2,'Tom');

      UPSERT INTO MY_NS.TEST VALUES(3,'Manson');

      UPSERT INTO MY_NS.TEST VALUES(4,'Aurora');

  15. 右键单击连接名称,单击“刷新”,再单击连接名称左侧的,即可查看在defaultMY_NS中新建的表:

    图12 查看表

相关文档