一、准备工作
5台虚拟机免密钥
linux虚拟机:centos6.5
hadoop:2.7.3的高可用集群
zookeeper:3.4.10
jdk:1.8
二、hbase集群规划:
master | backup-master | regionserver | zookeeper | |
node111 | 1 | 1 | ||
node112 | 1 | 1 | ||
node113 | 1 | 1 | ||
node114 | 1 | |||
node115 | 1 |
三、安装
1) 解压并配置环境变量
tar -zxvf hbase-1.2.5-bin.tar.gz
vi /etc/profile
export HBASE_HOME=/home/tool/hbase-1.2.5
export PATH=$PATH:$HBASE_HOME/bin
:wq
source /etc/profile
2)修改conf/regionservers
删除localhost这行,配置node112,noede113,node114
3)创建conf/backup-masters文档
vi backup-masters
node111
node115
:wq
4)配置habse-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://node111:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node111,node112,node113</value>
</property>
hbase.rootdir这个目录是region server共享目录,用来持久化hbase,rul需要完全正确,还要包含文件系统的scheme,不修改这个默认是tmp下,重启会丢失数据。
因为habase和hadoop集群都是完全分布式,所以后面会拷贝hdfs-site.xml
node111是我hadoop集群的namenode,因为hadoop是完全分布式,使用8020
【之前搭建hbase0.98完全分布式使用的是hdfs://yzhang/habse
其中yzhang是我hadoop完全分布式的集群自定义名称。
1.2.5版本报错,不识别yzhang,由于没找到1.2.5官方文档,所以不清楚。只能是namenode:port
由于我的hadoop集群是高可用的,固定一个namenode不太好,目前没有找到解决方法】
zookeeper集群根据自己的情况设定hostname
5)修改hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131
export HBASE_MANAGES_ZK=false
6)hdfs-site.xml
讲hadoop集群下的hdf-site.xml拷贝一份到${hbase}/conf/
四、启动集群
start-hbase.sh
五、web UI 监测
0.98版本master是http://node111:60010/
1.2.5版本master是http://node111:16010/
0.98版本region是http://node112:60030/
1.2.5版本region是http://node112:16030/