Hbase 2.x的Docker部署及使用
Hbase 2.x的Docker部署及使用
一、快速部署
hbase是hadoop生态中的一员,最早搭建hbase,需要先安装hadoop,然后安装zookeeper,再安装hbase。
现在通过docker可以直接安装hbase,而且容器中并不需要hadoop,安装很简单。直接拉取镜像,然后运行即可。
docker run -itd -h hbase.dev.xhyun.vip --name hbase2.1 -p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 -p 9095:9095 -p 16000:16000 -p 16010:16010 -p 16201:16201 -p 16301:16301 harisekhon/hbase:2.1
其中,16010端口是hbase提供的webui界面暴露的端口,安全组开放该端口,域名解析或者修改本机hosts文件,访问http://xxx.xxx.xxx.xxx:16010/master-status
二、Hbase shell的使用
docker exec -it hbase2.1 /bin/bash
cd /hbase/bin/
hbase shell
创建student表,行键是id,一个列族info > create 'student','id','info' 输入list就能列出新增的student表,输入scan 'student’可以列出student表的内容 > list 在student表新增一条记录,id为1001,名称为Tom > put 'student','1001','info:name','Tom' 再给这条记录增加年龄属性 > put 'student','1001','info:age','16' 执行查询命令试试,根据行键1001查询记录 > get 'student','1001' 依次输入disable 'student'和drop 'student'两个命令,可以将student表删除 > disable 'student' > drop 'student'
三、访问ZOOKEEPER
bash-4.4# hbase zkcli ls / [zookeeper, hbase]
四、Java Api 测试
public class Constants { public static Configuration CONFIGURATION = null; static { CONFIGURATION = HBaseConfiguration.create(); CONFIGURATION.set("hbase.zookeeper.quorum","xxx.xxx.xxx.xxx"); CONFIGURATION.set("hbase.zookeeper.property.clientPort","2181"); CONFIGURATION.set("hbase.master", "hbase.dev.xhyun.vip:16000"); CONFIGURATION.setInt("hbase.regionserver.port", 16201); CONFIGURATION.setInt("hbase.rpc.timeout",2000); CONFIGURATION.setInt("hbase.client.operation.timeout",3000); CONFIGURATION.setInt("hbase.client.scanner.timeout.period",2000); } }