hbase
:基于hadoop的NoSQL数据库,适用于解决超大数据集应用平台
phoenix
:hbase的开源SQL引擎,可以用SQL语句来查询hbase
在本地自行安装hbase与phoenix是一件非常痛苦的事情,最好的方式是使用docker
进行安装(至于docker的安装与使用在此便不再赘言)
-
请确保已安装
docker
服务 -
选择合适的docker镜像,在此选用
xjodoin/hbase-phoenix
-
安装镜像
docker pull xjodoin/hbase-phoenix
检测镜像,运行
docker images
指令便可以看到镜像信息REPOSITORY TAG IMAGE ID CREATED SIZE harisekhon/hbase latest 8a7cc801754d 4 months ago 434MB
-
运行镜像并设置端口映射 (连接时就可以使用
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
-
在新开的shell窗口
中查看hbase-phoenix
docker容器IDdocker ps -a
将会看到容器ID
CONTAINER ID IMAGE COMMAND CREATED ca47323e6cdd xjodoin/hbase-phoenix "/usr/bin/supervisord"
-
进入容器,
ca47323e6cdd
为上面指令查询的CONTAINER ID
字段docker exec -it ca47323e6cdd bash
-
在容器中进入
hbase shell
,使用指令cd /opt/phoenix/bin && ./sqlline.py
root@ca47323e6cdd:~# 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>
-
此时便可以在
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 | +-----------+-----------+-----------+-----------+-----------+-----------+ +-----------+-----------+-----------+-----------+-----------+-----------+
-
退出
hbase phoenix shell
,使用指令!quit
0: jdbc:phoenix:localhost:2181:/hbase> !quit
-
退出
docker container
容器 ,使用指令exit;
root@ca47323e6cdd:~# eixt;
是不是灰常简单便捷,既不用考虑java
版本问题,又不用配置hbase
与phoenix
转载请标明来源:mac使用docker安装hbase,phoenix
Happy coding!