HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群。
HBase 是Google Bigtable 的开源实现,与Google Bigtable 利用GFS作为其文件存储系统类似, HBase 利用Hadoop HDFS 作为其文件存储系统;Google 运行MapReduce 来处理Bigtable中的海量数据, HBase 同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable 利用Chubby作为协同服务, HBase 利用Zookeeper作为对应。
1.下载HBase并安装
1)下载Apache版本的HBase。
2)下载Cloudera版本的HBase。
3)这里选择下载cdh版本的hbase-0.98.6-cdh5.3.0.tar.gz,然后上传至bigdata-pro01.kfk.com节点/opt/softwares/目录下
4)解压hbase
tar -zxf hbase-0.98.6-cdh5.3.0.tar.gz -C /opt/modules/
2.分布式集群的相关配置
1)HBase架构体系
a.Zookeeper
Zookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的单点问题。
b.HBase Master
每台HRegion服务器都会和HMaster服务器通信,HMaster的主要任务就是要告诉每台HRegion服务器它要维护哪些HRegion。 当一台新的HRegion服务器登录到HMaster服务器时,HMaster会告诉它先等待分配数据。而当一台HRegion死机时,HMaster会把它负责的HRegion标记为未分配,然后再把它们分配到其他HRegion服务器中。
c.HRegionServer
HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块。
2)HBase集群规划
3)分布式集群相关配置
a.hbase-env.sh
#配置jdk
export JAVA_HOME=/opt/modules/jdk1.7.0_67
#使用独立的Zookeeper
export HBASE_MANAGES_ZK=false
b.hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>bigdata-pro01.kfk.com,bigdata-pro02.kfk.com,
bigdata-pro03.kfk.com</value>
</property>
</configuration>
c.regionservers
bigdata-pro01.kfk.com
bigdata-pro02.kfk.com
bigdata-pro03.kfk.com
d.backup-masters
bigdata-pro02.kfk.com
4)将hbase配置分发到各个节点
scp -r hbase-0.98.6-cdh5.3.0 bigdata-pro02.kfk.com:/opt/modules/
scp -r hbase-0.98.6-cdh5.3.0 bigdata-pro03.kfk.com:/opt/modules/
3.启动HBase服务
1)各个节点启动Zookeeper
zkServer.sh start
2)主节点启动HDFS
bin/start-dfs.sh
3)启动HBase
bin/start-hbase.sh
4)查看HBase Web界面
bigdata-pro01.kfk.com:60010/
如果各个节点启动正常,那么HBase就搭建完毕。
4.通过shell测试数据库
1)选择主节点进入HBase目录,启动hbase-shell
cd hbase-0.98.6-cdh5.3.0
bin/hbase-shell
2)查看所有表命令
list
3)使用help帮助命令
help
4)创建表
create 'test','info'
5)添加数据
put 'test','0001','info:userName','laocao'
6)全表扫描数据
scan 'test'
7)查看表结构
describe 'test'
8)删除表
disable 'test'
drop 'test'
5.根据业务需求创建表结构
1)下载数据源文件
2)HBase上创建表
create 'weblogs','info'