hbase :基于hadoop的NoSQL数据库,适用于解决超大数据集应用平台

phoenix :hbase的开源SQL引擎,可以用SQL语句来查询hbase

在本地自行安装hbase与phoenix是一件非常痛苦的事情,最好的方式是使用docker进行安装(至于docker的安装与使用在此便不再赘言)

  1. 请确保已安装docker服务

  2. 选择合适的docker镜像,在此选用xjodoin/hbase-phoenix

  3. 安装镜像

    docker pull xjodoin/hbase-phoenix

    检测镜像,运行docker images指令便可以看到镜像信息

    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    harisekhon/hbase      latest              8a7cc801754d        4 months ago        434MB
  4. 运行镜像并设置端口映射 (连接时就可以使用http://127.0.0.1:18765进行hbase数据库连接)

    docker run -p 18765:8765 xjodoin/hbase-phoenix

    新打开一个shell窗口,检测hbase-phoenix是否已启动

    ps -ef|grep hbase

    如果看到如下信息,便表示服务已启动

    501 85379 84469  0  2:44PM ttys008 0:00.69 docker run -p 18765:8765 xjodoin/hbase-phoenix
  5. 在新开的shell窗口中查看hbase-phoenixdocker容器ID

    docker ps -a

    将会看到容器ID

    CONTAINER ID   IMAGE      COMMAND     CREATED
    ca47323e6cdd   xjodoin/hbase-phoenix  "/usr/bin/supervisord"   
  6. 进入容器,ca47323e6cdd 为上面指令查询的CONTAINER ID 字段

    docker exec -it ca47323e6cdd bash
  7. 在容器中进入hbase shell,使用指令cd /opt/phoenix/bin && ./sqlline.py

    [email protected]:~# cd /opt/phoenix/bin && ./sqlline.py

    看到如下信息代表已经成功进入

    Setting property: [incremental, false]
    Setting property: [isolation, TRANSACTION_READ_COMMITTED]
    issuing: !connect jdbc:phoenix:localhost:2181:/hbase none none org.apache.phoenix.jdbc.PhoenixDriver
    Connecting to jdbc:phoenix:localhost:2181:/hbase
    18/08/01 08:23:11 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Connected to: Phoenix (version 4.13)
    Driver: PhoenixEmbeddedDriver (version 4.13)
    Autocommit status: true
    Transaction isolation: TRANSACTION_READ_COMMITTED
    Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
    168/168 (100%) Done
    Done
    sqlline version 1.2.0
    0: jdbc:phoenix:localhost:2181:/hbase>
  8. 此时便可以在hbase shell使用sql语句select * from system.stats查询hbase数据库

    0: jdbc:phoenix:localhost:2181:/hbase> select * from system.stats;

    查询结果如下

    +-----------+-----------+-----------+-----------+-----------+-----------+
    | PHYSICAL_NAME|COLUMN_FAMILY | GUIDE_POST_KEY  | GUIDE_POSTS_WIDTH  | LAST_STATS_UPDATE_TIME  | GUIDE_POSTS_ROW_COUNT  |
    +-----------+-----------+-----------+-----------+-----------+-----------+
    +-----------+-----------+-----------+-----------+-----------+-----------+
  9. 退出hbase phoenix shell,使用指令!quit

    0: jdbc:phoenix:localhost:2181:/hbase> !quit
  10. 退出docker container容器 ,使用指令exit;

    [email protected]:~# eixt;

是不是灰常简单便捷,既不用考虑java版本问题,又不用配置hbasephoenix

转载请标明来源:mac使用docker安装hbase,phoenix

Happy coding!