最近开始接触hbase,就从hbase完全分布式搭建开始记录一下。hbase完全分布式的搭建基于hadoop ha搭建基础上,hadoop ha搭建见:Hadoop MapReduce HA搭建
- 1 规划
- 2 解压hbase
- 3 配置
- 3.1 配置hbase_home
- 3.2 配置java_homey以及外部使用的zk
- 3.3 配置 regionservers
- 3.4 配置backup master
- 3.5 配置zookeeper
- 3.6 配置hdfs
- 4 拷贝安装文件
- 5 启动hbase集群
- 6 验证
- 6.1进程验证
- 6.2 hbase web
- 6.3验证hbase高可用
1 规划
主机 | node2 | node3 | node4 | node5 |
节点 | Master | Master Backup | ||
节点 | ZooKeper | ZooKeper | ZooKeper | |
节点 | RegionServer | RegionServer | RegionServer |
2 解压hbase
在node2上,将hbase 安装包解压到/opt/app目录
cd /opt/app
tar -zxvf /apps/hbase-0.98.12.1-hadoop2-bin.tar.gz
3 配置
3.1 配置hbase_home
在node2、node3、node4、node5上/etc/profile 文件上都添加如下内容
export HBASE_HOME=/opt/app/hbase-0.98.12.1-hadoop2
export PATH=$PATH:$HBASE_HOME/bin
然后使用配置生效
source /etc/profile
3.2 配置java_homey以及外部使用的zk
vim /opt/app/hbase-0.98.12.1-hadoop2/conf/hbase-env.sh
添加入下内容
export JAVA_HOME=/usr/java/default
export HBASE_MANAGES_ZK=false
3.3 配置 regionservers
vim /opt/app/hbase-0.98.12.1-hadoop2/conf/regionservers
添加如下内容
node3
node4
node5
3.4 配置backup master
在HBASE_HOME目录添加文件backup-masters,
vim backup-masters
并添加如下内容
node3
3.5 配置zookeeper
habse_home/conf/hbase-site.xml中配置zookeeper的信息。hbase会优先使用zoo.cfg的配置。在hbase-site.xml中配置如下:
vim /opt/app/hbase-0.98.12.1-hadoop2/conf/hbase-site.xml
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
<property>
<!-- 默认端口号可以不写,也可以添加:node2:2181,node3:2181,node4:2181 -->
<name>hbase.zookeeper.quorum</name>
<value>node3,node4,node5</value>
</property>
<property>
3.6 配置hdfs
将hadoop的hdfs-site.xml拷贝到$HBASE_HOME/conf目录下
在hbase_home/conf 路径下
cp /opt/app/hadoop-2.6.5/etc/hadoop/hdfs-site.xml .
4 拷贝安装文件
进入/opt/app路径
把hbase安装包拷贝到node3,node4,node5上
scp -r hbase-0.98.12.1-hadoop2 node3:pwd
&& scp -r hbase-0.98.12.1-hadoop2 node4:pwd
&& scp -r hbase-0.98.12.1-hadoop2 node5:pwd
5 启动hbase集群
启动hbase集群前需要确保没有任意一个节点运行hbase以及确保zookeeper集群正常运行,如果没有运行,则运行zookeeper
在node2上启动habse,则node2为hmaster
start-hbase.sh
停止命令为 stop-hbase.sh 任意一台都可以执行
6 验证
6.1进程验证
启动后在node2上通过进程可以看到hmaster 在node2上
node3上
node4上
node5上
6.2 hbase web
http://node2:60010/
Backup Masters
6.3验证hbase高可用
在6.1图中知道hmaster进程在node2上id为5549.
kill进程模仿宕机
此时http://node2:60010/ 已经不能访问
只能访问http://node3:60010/
在这里插入图片描述
我们在node5上启动HMaster
hbase-daemon.sh start master
启动后发现Backup Masters已经不在是空,而是切换为node5了
当我们 在页面输入http://node5:60010/,结果如下