HBase集群搭建教程

前言

如果对英文比较熟悉,建议直接看HBase官网

本文以hbase-1.6.0为例来分享一下Centos6上的HBase集群的部署流程。实验环境使用三个节点:

node01.aries.com
node02.aries.com
node03.aries.com

服务分布

服务 node01 node02 node03
NameNode
DataNode
HMaster
RegionServer
ZooKeeper
Journalnode

正常的HBase集群的部署流程是先搭建zookeeper集群,然后搭建HDFS集群,再部署HBase集群。关于如何部署zookeeper集群和HDFS集群可以参考ZooKeeper集群搭建教程和HDFS HA高可用集群搭建教程,这里不做赘述。

下载安装

# 下载HBase
wget http://us.mirrors.quenda.co/apache/hbase/1.6.0/hbase-1.6.0-bin.tar.gz
# 解压
tar -zxvf hbase-1.6.0-bin.tar.gz -C /usr/local/

配置修改

hbase-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_131
# 如果使用已有的zookeeper集群,则不需要HBase管理zk实例
export HBASE_MANAGES_ZK=false

regionservers

node01.aries.com
node02.aries.com
node03.aries.com

hbase-site.xml


    
	
		hbase.rootdir
		hdfs://aries/hbase
	
	
	
		hbase.cluster.distributed
		true
	
	
		hbase.zookeeper.quorum
		node01.aries.com,node02.aries.com,node03.aries.com
	
	
		zookeeper.session.timeout
		60000
	
	
		hbase.zookeeper.property.clientPort
		2181
	
	
		hbase.master.info.port
		60010
	
	
		hbase.master.port
		60000
	

此外,需要将hadoop HA的core-site.xml和hdfs-site.xml链接到HBase的conf目录下,否则HBase无法识别HA集群,不建议直接拷贝,因为后续对hdfs配置有更新的场景不太好维护

ln -s /usr/local/hadoop/2.10.0/etc/hadoop/core-site.xml /usr/local/hbase-1.6.0/conf/core-site.xml 
ln -s /usr/local/hadoop/2.10.0/etc/hadoop/hdfs-site.xml /usr/local/hbase-1.6.0/conf/hdfs-site.xml 

如果希望启动多个HMaster,可以在conf目录下增加backup-masters文件,添加要用做Backup Master的节点hostname。这里笔者使用node02作为备选Master。

node02.aries.com

内容分发

接下来将配置好的部署包分发到其他节点。

scp -p -r hbase-1.6.0 [email protected]:/usr/local
scp -p -r hbase-1.6.0 [email protected]:/usr/local

服务启动

完成上述配置后,我们就可以启动服务了。选择一个主节点,执行

# 选择一个主节点执行
bin/start-hbase.sh
# 启动后会自动启动每个节点的服务,通过jps查看HMaster和RegionServer的启动情况
jps

服务验证

我们可以通过hbase shell来验证服务。

# 打开hbase shell
sh ./bin/hbase shell

# ----在hbase shell操作----
# 查看hbase状态
status

# 创建表和列族
create 'test','cf'

# 检查表是否存在
list 'test'

# 获取表描述
describe 'test'

# 添加数据
put 'test','rowkey','cf:col','value'

# 扫描表,面向单元格的形式输出每列数据
scan 'test'

# 获取某行数据
get 'test','rowkey'

# 删除单元格
delete 'test','rowkey','cf:col'

# 禁用表
disable 'test'

# 删除表
drop 'test'

# 退出shell
quit

我们也可以打开hdfs的web页面来浏览文件(即集群的50070端口),根目录下会有我们设置的hbase目录。

你可能感兴趣的:(大数据)