繼上篇《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
在zookeeper-3.5.6/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