继上篇《CentOS分布式部署Hadoop》介绍分布式部署Hadoop2.8.5,本篇在上篇基础上介绍CentOS7下HBase2.2.3的分布式部署。
一、准备工作
部署好Hadoop2.8.5,节点如下:
192.168.23.211 hadoop.master NameNode,DataNode,ResourceManager,NodeManager
192.168.23.212 hadoop.slaver1 SecondaryNameNode,DataNode,NodeManager
192.168.23.213 hadoop.slaver2 DataNode,NodeManager
HBase部署节点计划如下:
192.168.23.211 hadoop.master Zookeeper,HMaster(主),HRegionServer
192.168.23.212 hadoop.slaver1 Zookeeper,HRegionServer
192.168.23.213 hadoop.slaver2 Zookeeper,HMaster(备),HRegionServer
二、分布式部署Zookeeper
HBase可以使用内置的Zookeeper,也可以使用独立部署的Zookeeper,此处使用独立部署Zookeeper方案。下载稳定版apache-zookeeper-3.5.6-bin.tar.gz。
以下操作在hadoop.master节点上进行:
1、解压并配置环境变量
解压apache-zookeeper-3.5.6-bin.tar.gz到/data/soft/目录下:
[root@centos /]# tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz -C /data/soft/
[root@centos /]# cd /data/soft/
[root@centos soft]# mv apache-zookeeper-3.5.6-bin zookeeper-3.5.6
配置环境变量:
[root@centos soft]# vim /etc/profile
#set hadoop environment
export HADOOP_HOME=/data/soft/hadoop-2.8.5
export ZOOKEEPER_HOME=/data/soft/zookeeper-3.5.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
让环境变量生效,命令行执行:
[root@centos soft]# source /etc/profile
2、配置zoo.cfg
复制zookeeper-3.5.6/conf/zoo.sample.cfg为zoo.cfg,并编辑:
[root@centos soft]# cp ./zookeeper-3.5.6/conf/zoo.sample.cfg ./zookeeper-3.5.6/conf/zoo.cfg
[root@centos soft]# vim ./zookeeper-3.5.6/conf/zoo.cfg
主要编辑内容如下:
dataDir=/data/hadoop/zookeeper/data
并在文件最后添加以下内容:
server.1=hadoop.master:2888:3888
server.2=hadoop.slaver1:2888:3888
server.3=hadoop.slaver2:2888:3888
3、将zookeeper复制到另外两个节点,并配置zookeeper环境变量
[root@centos soft]# scp -r zookeeper-3.5.6 hadoop.slaver1:/data/soft/
[root@centos soft]# scp -r zookeeper-3.5.6 hadoop.slaver2:/data/soft/
4、启动zookeeper
在每个节点上依次启动zookeeper:
[root@centos soft]# zkServer.sh start
三、分布式部署HBase
下载hbase-2.2.3-bin.tar.gz,以下操作在hadoop.master节点上进行。
1、解压并配置环境变量
解压缩hbase-2.2.3-bin.tar.gz到/data/soft目录下:
[root@centos /]# tar -zxvf hbase-2.2.3-bin.tar.gz -C /data/soft/
[root@centos /]# cd /data/soft/
配置环境变量:
[root@centos soft]# vim /etc/profile
#set hadoop environment
export HADOOP_HOME=/data/soft/hadoop-2.8.5
export ZOOKEEPER_HOME=/data/soft/zookeeper-3.5.6
export HBASE_HOME=/data/soft/hbase-2.2.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin
让环境变量生效,命令行执行:
[root@centos soft]# source /etc/profile
2、配置hbase-env.sh
编辑./conf/hbase-env.sh文件,设置JAVA_HOME和HBASE_MANAGES_ZK,如:
export JAVA_HOME=/usr/java/jdk1.8.0_151
export HBASE_MANAGES_ZK=false
HBASE_MANAGES_ZK值为true是使用hbase自带的zookeeper,false则是使用独立部署的zookeeper。
3、配置hbase-site.xml
编辑./conf/hbase-site.xml文件,主要内容如下:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop.master:9000/hbase</value>
<description>hbase持久化目录</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>是否启用分布式集群</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
<description>hbase文件备份数,默认为3</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop.master,hadoop.slaver1,hadoop.slaver2</value>
<description>zookeeper节点,奇数个</description>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/data/hadoop/hbase/tmp</value>
<description>临时文件目录</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/data/hadoop/zookeeper/data</value>
<description>和zookeeper配置文件zoo.cfg中的dataDir保持一致</description>
</property>
</configuration>
4、配置regionservers
编辑./conf/regionservers文件,删除localhost,内容如下:
hadoop.master
hadoop.slaver1
hadoop.slaver2
5、配置backup-masters
在./conf目录下新建backup-masters文件,用于配置HMaster备份,内容为:
hadoop.slaver2
6、将hbase复制到另外两个节点,并配置hbase环境变量
[root@centos soft]# scp -r hbase-2.2.3 hadoop.slaver1:/data/soft/
[root@centos soft]# scp -r hbase-2.2.3 hadoop.slaver2:/data/soft/
7、在hadoop.master节点启动hbase
[root@centos soft]# start-hbase.sh
在浏览器输入:http://192.168.23.211:16010/ (16010是默认端口,打开HBase页面)
在浏览器输入:http://192.168.23.213:16010 (16010是默认端口,打开HBase备份页面)
在hadoop.master节点使用jps命令查看启动进程:
9216 NodeManager
9108 ResourceManager
57674 HMaster
57805 HRegionServer
9694 NameNode
9807 DataNode
55663 QuorumPeerMain
58287 Jps
在hadoop.slaver1节点使用jps命令查看启动进程:
61843 HRegionServer
4916 NodeManager
60117 QuorumPeerMain
62550 SecondaryNameNode
62104 Jps
62442 DataNode
在hadoop.slaver2节点使用jps命令查看启动进程:
41121 QuorumPeerMain
42772 HMaster
42697 HRegionServer
61947 DataNode
43100 Jps
59998 NodeManager