HBase快速入门
HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统。本章节提供从零开始使用HBase的操作指导:通过HBase Shell命令实现创建表,往表中插入数据,修改表,读取表数据,删除表中数据以及删除表的功能。
背景信息
假定用户开发一个应用程序,用于管理企业中的使用A业务的用户信息,使用HBase客户端实现A业务操作流程如下:
- 创建用户信息表user_info。
- 在用户信息中新增用户的学历、职称信息。
- 根据用户编号查询用户姓名和地址。
- 根据用户姓名进行查询。
- 用户销户,删除用户信息表中该用户的数据。
- A业务结束后,删除用户信息表。
编号 |
姓名 |
性别 |
年龄 |
地址 |
---|---|---|---|---|
12005000201 |
A |
Male |
19 |
Shenzhen, Guangdong |
12005000202 |
B |
Female |
23 |
Shijiazhuang, Hebei |
12005000203 |
C |
Male |
26 |
Ningbo, Zhejiang |
12005000204 |
D |
Male |
18 |
Xiangyang, Hubei |
12005000205 |
E |
Female |
21 |
Shangrao, Jiangxi |
12005000206 |
F |
Male |
32 |
Zhuzhou, Hunan |
12005000207 |
G |
Female |
29 |
Nanyang, Henan |
12005000208 |
H |
Female |
30 |
Kaixian, Chongqing |
12005000209 |
I |
Male |
26 |
Weinan, Shaanxi |
12005000210 |
J |
Male |
25 |
Dalian, Liaoning |
步骤一:购买HBase集群
步骤二:下载HBase客户端
- 登录表格存储服务控制台。
- 在控制台左上角选择区域。
- 单击“帮助”,进入帮助页面。
- 单击帮助页面右侧“常用链接 > hbase客户端下载”(根据版本下载客户端),下载客户端安装包。
步骤三:准备弹性云服务
- 购买弹性云服务器。
- 登录ECS控制台。
- 单击管理控制台左上角的,选择区域。
- 单击左侧的服务列表图标,选择“计算 > 弹性云服务器 ECS”。
- 单击“购买弹性云服务器”。
- 配置弹性云服务器参数。
- 选择CPU架构和规格。
图1 规格图
- 选择镜像和磁盘规格。
图2 选择镜像和磁盘规格
- 选择CPU架构和规格。
- 单击下一步:网络配置。
- 选择VPC和安全组。
图3 VPC图
- 选择购买弹性公网IP,公网带宽选择“按流量计费”。
图4 公网IP图
- 选择VPC和安全组。
- 单击下一步“高级配置”。
图5 高级配置
- 单击下一步“确认配置”,确认配置参数。
图6 确认配置参数页面
- 选择“企业项目”,勾选“协议”,确认配置信息后,单击“立即购买”。
- 返回弹性云服务器列表页面,查看弹性云服务器的创建进度。
步骤四:安装客户端
安装客户端有一键部署客户端、手动安装部署两种方法,此处使用手动安装部署。
- 使用SSH登录工具(如PuTTY)通过“弹性IP”远程登录到Linux弹性云服务器。
具体登录操作步骤请参见《弹性云服务器用户指南》中的“登录Linux弹性云服务器 > SSH密码方式登录”。
- 将步骤二中下载的客户端传输到Linux弹性云服务器。
- 登录后执行如下命令解压安装包:
cd <客户端安装包存放路径> tar xzvf hbase-1.3.1-bin.tar.gz
cd <客户端安装包存放路径> tar xzvf hbase-2.4.14-bin.tar.gz
其中,<客户端安装包存放路径>请替换为实际的客户端存放路径。
- 配置zookeeper地址到配置文件。
在客户端解压目录下,打开“hbase/conf/hbase-site.xml”文件,配置如下参数:
- “hbase.zookeeper.quorum”:该参数值为在集群管理列表中查找的对应集群的“ZK链接地址”。
登录表格存储服务管理控制台,在左侧导航树单击“集群管理”,然后在集群列表中找到所需要的集群,并获取相应的“ZK链接地址”,配置在“hbase/conf/hbase-site.xml”文件,请参见图8。
图7 查看zk链接地址
- 检查是否存在该配置项“mapreduce.cluster.local.dir”,如果不存在,请添加该配置项。
- “hbase.zookeeper.quorum”:该参数值为在集群管理列表中查找的对应集群的“ZK链接地址”。
- 启动Shell访问集群。执行“bin/hbase shell”,启动Shell访问集群。
步骤五:运行HBase客户端命令,实现A业务
- 根据表1创建用户信息表user_info并添加相关数据。
create 'user_info',{NAME => 'i'}
以增加编号12005000201的用户信息为例,其他用户信息参照如下命令依次添加:
put 'user_info','12005000201','i:name','A' put 'user_info','12005000201','i:gender','Male' put 'user_info','12005000201','i:age','19' put 'user_info','12005000201','i:address','Shenzhen, Guangdong'
- 在用户信息表user_info中新增用户的学历、职称信息。
以增加编号为12005000201的用户的学历、职称信息为例,其他用户类似。
put 'user_info','12005000201','i:degree','master' put 'user_info','12005000201','i:pose','manager'
- 根据用户编号查询用户姓名和地址。
以查询编号为12005000201的用户姓名和地址为例,其他用户类似。
scan 'user_info',{STARTROW=>'12005000201',STOPROW=>'12005000201',COLUMNS=>['i:name','i:address']}
- 根据用户姓名进行查询。
scan 'user_info',{FILTER=>"SingleColumnValueFilter('i','name',=,'binary:A')"}
- 删除用户信息表中该用户的数据。
所有用户的数据都需要删除,以删除编号为12005000201的用户数据为例,其他用户类似。
delete 'user_info','12005000201','i'
- 删除用户信息表。
disable 'user_info';drop 'user_info'