前提:
-
三臺hadoop節點可以正常啓動hdfs
步驟:
1、下載zookeeper安裝壓縮包,解壓到相應的目錄
2、在安裝目錄下創建data/zkData文件夾,在文件夾下新建myid文件,裏面輸入1
2、修改conf目錄下zoo.cfg文件(原始沒有zoo.cfg, 把zoo_sample.cfg 複製一份更名爲zoo.cfg)
表明集羣有幾臺機器,並且指定和leader的端口號和參與投票的端口號
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
修改:dataDir=/opt/programs/zookeeper-3.4.5/data/zkData
3、通過scp把已經配置好zookeeper的節點上的/opt/programs/zookeeper-3.4.5 文件複製到另外2個hadoop節點上,修改myid爲本節點對應的。
4.修改每個hadoop節點的hdfs配置文件(hdfs-site.xml),添加自動故障轉移以及zookeeper服務
# hdfs-site.xml
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
# core-site.xml
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop1:2181,hadoop2:2181,hadoop3:2181</value>
</property>
5.啓動zookeeper集羣
# 分別在每一臺節點上啓動
zkServer.sh start
6.初始化HA在zookeeper中的狀態
# 在某一個hadoop節點上執行
bin/hdfs zkfc -formatZK -force
7.啓動hdfs
sbin/start-dfs.sh