zoukankan      html  css  js  c++  java
  • HBase Phoenix的安装使用教程1(基本介绍、安装部署)

    序:基本介绍

    1,什么是 Phoenix?

    • Phoenix 是构建在 HBase 上的一个 SQL 层,能让我们用标准的 JDBC APIs 而不是 HBase 客户端 APIs 来创建表,插入数据和对 HBase 数据进行查询。 
    • Phoenix 完全使用 Java 编写,作为 HBase 内嵌的 JDBC 驱动。Phoenix 查询引擎会将 SQL 查询转换为一个或多个 HBase 扫描,并编排执行以生成标准的 JDBC 结果集。
    • Phoenix 直接使用 HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。 
     

    2,Phoenix 与 HBase 的关系

    (1)Phoenix 与 HBase 中的表是独立的,两者之间没有必然的关系。
    • Phoenix 与 HBase 集成后会创建六张系统表:SYSTEM.CATALOG、SYSTEM.FUNCTION、SYSTEM.LOG、SYSTEM.SEQUENCE、SYSTEM.STATS,其中 SYSTEM.CATALOG 表用于存放 Phoenix 创建表时的元数据。
    • Phoenix 创建表时会自动调用 HBase 客户端创建相应的表,并且在 SYSTEM.CATALOG 系统表中记录 Phoenix 创建表时的元数据,其主键的值对应 HBase 的 RowKey,非主键的列对应 HBase 的 Column(列族不指定时为 0,且列会进行编码)
    (2)如果是通过 Phoenix 创建的表,那么必须通过 Phoenix 客户端来对表进行操作,因为通过 Phoenix 创建的表其非主键的列会进行编码。

    一、Phoenix 的搭建

    1,准备工作

        由于 Phoenix 是内嵌在 HBase 的 JDBC 驱动,因此我们先要安装 JDK、HBase 和 Zookeeper,并配置好 JAVA_HOME 环境变量。具体参考我之前写的文章:

    2,下载 Phoenix 安装包

    (1)首先访问 Phoenix 官网(点击打开)根据 HBase 版本下载相应的安装包:

    (2)将下载下来的压缩包上传到 Master 节点(比如 /home 目录下),执行如下命令进行解压:

    tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz

    3)接着进入解压后的目录,将目录下的所有 jar 包拷贝到集群中每个节点(主节点也要拷贝)的 hbase 的 lib 目录下: 

    注意:网上说只要拷贝 phoenix-5.0.0-HBase-2.0-server.jar 就行了,但我测试发现后面执行 sqlline.py 会一直停在中途,无法成功。同时访问 HBase 的 Web UI 页面可以看到其一直处于 RIT 状态(Regions In Transition)。

    cp *.jar /home/hbase-2.2.4/lib/

    (4)同时将 hbase/conf 目录下 hbase-site.xml 文件放到 phoenix 的 bin 目录下:

    cp /home/hbase-2.2.4/conf/hbase-site.xml /home/apache-phoenix-5.0.0-HBase-2.0-bin/bin

    3,配置环境变量

    (1)执行如下命令编辑 profile 文件:
    vi /etc/profile

    (2)在文件末尾添加如下配置,然后保存退出:

    # For Phoenix
    export PHOENIX_HOME=/home/apache-phoenix-5.0.0-HBase-2.0-bin
    export PHOENIX_CLASSPATH=$PHOENIX_HOME
    export PATH=$PHOENIX_HOME/bin:$PATH

    很多教程里面 hbase环境变量也要配置

    export HBASE_HOME=/home/hbase-2.2.4
    export PATH=$JAVA_HOME/bin:$HBASE_HOME/bin:$PATH

    (3)最后执行如下命令让配置生效:

    source /etc/profile

    4,重启 HBase

    进入 Hbase 目录,执行如下命令重启:
    ./bin/start-hbase.sh
    ./bin/stop-hbase.sh

    5,启动 Phoenix

    (1)执行如下命令进入 phoenix 的终端(启动脚本 sqlline.py 参数是 Zookeeper 节点);

    sqlline.py localhost:2181

    (2)首次进入 phoenix 终端会自动建立的 phoenix 系统表,我们执行如下命令可以查看当前所有的表:

    !table

     

    (3)执行如下命令则可退出 phoenix 的终端:
    !exit

    (3)访问 HBase 的 Web UI 页面也可以看到新创建的这些表:

     

  • 相关阅读:
    Python升级3.6 强力Django+Xadmin打造在线教育平台
    第六模块:WEB框架开发 第1章·Django框架开发1~50
    阿里云主机(ECS)与CentOS7实战
    Django入门与实战
    第五模块:WEB开发基础 第2章·JavaScript基础
    第五模块:WEB开发基础 第1章·HTML&CSS基础
    第四模块:网络编程进阶&数据库开发 第2章·MySQL数据库开发
    阿里云ECS云服务器CentOS7.4下安装MySQL5.7.13、JDK1.7.80、Mycat1.6.5、Redis3.2.10、Nginx1.14.0以及Tomcat7.0.72
    《百词斩·象形9000》第一册(上) 符号Symbol 1
    第三模块:面向对象&网络编程基础 第2章 网络编程
  • 原文地址:https://www.cnblogs.com/shanheyongmu/p/15660971.html
Copyright © 2011-2022 走看看