准备
1、hadoop集群已安装,这里将在Centos7安装Hadoop2.7的基础上安装hbase1.4,所以是同样的三台机器,其规划如下:
hostnameIP地址部署规划
node1172.20.0.4Master、RegionServer
node2172.20.0.5Backup-Master、RegionServer
node3172.20.0.6RegionServer
2、官网下载安装包:hbase-1.4.12-bin.tar.gz(推荐去清华大学或中科大的开源镜像站)。
3、hbase将部署在三台都已存在的路径/mydata,配置环境变量:
export HBASE_HOME=/mydata/hbase-1.4.12export PATH=${HBASE_HOME}/bin:$PATH
配置
先在node1上修改hbase的配置,完成后再统一复制到其他节点,保证配置内容一致。
解压hbase-1.4.12-bin.tar.gz到/mydata/,进入/mydata/hbase-1.4.12/conf,进行配置:
hbase.cluster.distributed
true
hbase.rootdir
hdfs://node1:9000/hbase
hbase.zookeeper.quorum
node1,node2,node3
hbase.zookeeper.property.dataDir
/mydata/data/zookeeper
# 文件名 regionserversnode1
node2
node3
# 文件名 backup-masters 该文件需要新建node2
配置项含义
hbase.cluster.distributed
分布式模式
hbase.rootdir
hbase的数据存储位置,这里为hdfs的/hbase,host:port对应hadoop配置中的fs.defaultFS
hbase.zookeeper.quorum
所有要部署zookeeper的host,通常三台以上吧,最多当然可以每一台都部署
hbase.zookeeper.property.dataDir
zookeeper运行时的数据存储位置
regionservers
所有RegionServer,通常部署到每一台DataNode上
backup-masters
作为备份的Master
注:这里的zookeeper使用hbase自带的,当然也可以用外部已存在的,这里就不提了。
默认日志目录在$HBASE_HOME/logs,pid文件在/tmp,可以进行修改:
# 文件名 hbase-env.shexport HBASE_LOG_DIR=/mydata/logs/hbase
export HBASE_PID_DIR=/mydata/data/pid
配置完成后将hbase程序文件拷贝到其他两台:
node1> scp -r /mydata/hbase-1.4.12/ root@node2:/mydata/node1> scp -r /mydata/hbase-1.4.12/ root@node3:/mydata/
启动
node1> start-hbase.sh
node1上用jps命令验证进程HMaster、HRegionServer、HQuorumPeer
node2上用jps命令验证进程HMaster、HRegionServer、HQuorumPeer
node3上用jps命令验证进程HRegionServer、HQuorumPeer
注:HQuorumPeer为zookeeper的进程,不部署zookeeper的节点没有它;若用外部zookeeper则进程名变为QuorumPeerMain。
测试
通过浏览器可以访问以下地址:
Master的后台http://node1:16010
RegionServer的后台http://node1:16030
http://node2:16030
http://node3:16030
访问前者可以看到:
下面执行一个官方示例(下面的命令可以在任意一台部署了hbase的机器上执行):
node> hbase shell
hbase> create 'test', 'cf'
hbase> list 'test'
hbase> describe 'test'
hbase> put 'test', 'row1', 'cf:a', 'value1'
hbase> put 'test', 'row2', 'cf:b', 'value2'
hbase> put 'test', 'row3', 'cf:c', 'value3'
hbase> scan 'test'
hbase> get 'test', 'row1'
可以在浏览器中看到这个表的信息:http://node1:16010/table.jsp?name=test。
over
本文来自PHP中文网的centos教程栏目:https://www.php.cn/centos/