使用Zookeeper 部署HDFS HA 配置


  • 一:系統環境配置
  • 二:軟件需求
  • 三:安裝zookeeper處理
  • 四:編輯hadoop 配置文件
  • 五:啓動服務
  • 六:配置zookeeper自動故障轉移

一:系統環境配置:

承接 在上文檔hadoop 分佈式的文檔進行部署

二: 軟件需求:

在前環境 狀態下增長zookeeper-3.4.6.tar.gz 包
上傳zookeeper 包到/home/hadoop/yangyang/目錄下面

三: 安裝zookeeper 環境

在master.hadoop.com 上面
tar –zxvf zookeeper-3.4.6.tar.gz 
rm –rf zookeeper-3.5.6.tar.gz
mv zookeeper-3.4.6 zookeeper
cd zookeeper/conf
cp -p zoo_sample.cfg zoo.cfg
vim zoo.cfg

1.png-22.9kB

#mkdir zookeeper/data
#echo 「1」 > zookeeper/data/myid
同步其它節點處理:
scp –r zoo* hadoop@192.168.3.2:/home/hadoop/yangyang/
scp –r zoo* hadoop@192.168.3.3:/home/hadoop/yangyang/
slave1.hadoop.com
echo 「2」 > zookeeper/data/myid
slave2.hadoop.com
echo 「3」 > zookeeper/data/myid

3.1 zookeeper 相關命令node

3.1.1. 顯示根目錄下、文件: ls / 使用 ls 命令來查看當前 ZooKeeper 中所包含的內容
3.1.2. 顯示根目錄下、文件: ls2 / 查看當前節點數據並能看到更新次數等數據
3.1.3 建立文件,並設置初始內容: create /zk "test" 建立一個新的 znode節點「 zk 」以及與它關聯的字符串
3.1.4 獲取文件內容: get /zk 確認 znode 是否包含咱們所建立的字符串
3.1.5 修改文件內容: set /zk "zkbak" 對 zk 所關聯的字符串進行設置
3.1.6 刪除文件: delete /zk 將剛纔建立的 znode 刪除
3.1.7 退出客戶端: quit
3.1.8 幫助命令: help

master.hadoop.com 
cd /home/hadoop/yangyang/zookeeper/bin
./zkServer.sh status

2.png-23.6kB

slave1.hadoop.com
cd /home/hadoop/yangyang/zookeeper/bin
./zkServer.sh status

3.png-30.4kB

slave2.hadoop.com

4.png-29.9kB

Zookeeper 的進入命令窗口:
./zkCli.sh

5.png-10.9kB

ls /

6.png-4.6kB

create /zk 「yangyang」

7.png-53.5kB
8.png-9.6kB
9.png-11.1kB
10.png-4.9kB

四: 編輯改變hadoop 的配置文件

編輯core-site.xml 文件:
vim core-site.xmlpython

<property>
      <name>fs.defaultFS</name>
      <value>hdfs://mycluster</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/yangyang/hadoop/data</value>
    </property>

編輯hdfs-site.xml 文件:apache

<configuration>
    <property>
       <name>dfs.replication</name>
       <value>3</value>
    </property>
    <property>
      <name>dfs.nameservices</name>
      <value>mycluster</value>
    </property>
    <property>
        <name>dfs.ha.namenodes.mycluster</name>
        <value>nn1,nn2</value>
    </property>
#######################nn1###############################
    <property>
      <name>dfs.namenode.rpc-address.mycluster.nn1</name>
      <value>master.hadoop.com:8020</value>
    </property>
    <property>
      <name>dfs.namenode.http-address.mycluster.nn1</name>
      <value>master.hadoop.com:50070</value>
    </property>

#######################nn2###############################
    <property>
      <name>dfs.namenode.rpc-address.mycluster.nn2</name>
      <value>slave1.hadoop.com:8020</value>
    </property> 
    <property>
      <name>dfs.namenode.http-address.mycluster.nn2</name>
      <value>slave1.hadoop.com:50070</value>
    </property>
#######################journal node#######################
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://master.hadoop.com:8485;slave1.hadoop.com:8485;slave2.hadoop.com:8485/mycluster</value>
    </property>
    <property>
      <name>dfs.journalnode.edits.dir</name>
      <value>/home/hadoop/yangyang/hadoop/data/jn</value>
    </property>
##########################proxy###########################
    <property>
      <name>dfs.client.failover.proxy.provider.mycluster</name>
      <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
##########################fence###########################
    <property>
      <name>dfs.ha.fencing.methods</name>
      <value>sshfence</value>
    </property>
    <property>
      <name>dfs.ha.fencing.ssh.private-key-files</name>
      <value>/home/hadoop/.ssh/id_rsa</value>
    </property>
</configuration>

同步全部hadoop 的配置文件:
 tar –zcvf hadoop.tar.gz hadoop
scp hadoop.tar.gz hadoop@192.168.3.2:/home/hadoop/yangyang/
scp hadoop.tar.gz hadoop@192.168.3.3:/home/hadoop/yangyang/

五:啓動服務

啓動全部節點journalnode 節點:
  master.hadoop.com
  cd /home/hadoop/yangyang/hadoop/
  sbin/hadoop-daemon.sh start journalnode

11.png-16.2kB

啓動master.hadoop.com的namenode 與datanode
sbin/hadoop-daemon.sh start namenode 
sbin/hadoop-daemon.sh start datanode

12.png-5.5kB
打開瀏覽器訪問:
13.png-43.5kB
slave1.hadoop.com 進行節點同步master.hadoop.com
bin/hdfs namenode –bootstrapStandby
14.png-89.8kB
啓動slave1.hadoop.com 節點的namenode 與datanode
sbin/hadoop-daemon.sh start namenode
15.png-11.5kB
sbin/hadoop-daemon.sh start datanode
16.png-14.6kB
17.png-5.3kB
打開瀏覽器處理
18.png-32.9kB
手動切換master.hadoop.com 爲active 狀態:
bin/hdfs haadmin -transitionToActive nn1
19.png-33.5kB
建立目錄與上傳測試:
20.png-3.2kB
21.png-7.4kB
瀏覽器查看master.hadoop.com 的hdfs active 節點
22.png-9.3kB
瀏覽器查看slave1.hadoop.com 的hdfs standby 節點:
23.png-13.6kB
手動切換 將master.haoop.com 切換爲standby 將slave1.hadoop.com 切換爲active
master.hadoop.com:
bin/hdfs haadmin -transitionToStandby nn1
24.png-3.6kB
將slave1.hadoop.com 變爲active 節點:
bin/hdfs haadmin -transitionToActive nn2
25.png-11.6kB
瀏覽器查看:
master.hadoop.com
26.png-37.3kB
27.png-10.5kB
slave1.hadoop.com瀏覽器查看:
28.png-38.5kB
29.png-12.6kBbootstrap

六:配置zookeeper自動故障轉移

  • 6.1. 更改配置文件
    master.hadoop .com 
    編輯core-site.xml
    在configuration 中增長
    <property>
       <name>ha.zookeeper.quorum</name>
       <value>master.hadoop.com:2181,slave1.hadoop.com:2181,slave2.hadoop.com:2181</value>
    </property>
    編輯hdfs-site.xml 文件
    在configuration 中 增長:
    <property>
       <name>dfs.ha.automatic-failover.enabled</name>
       <value>true</value>
    </property>
    • 6.2同步全部節點
      cd /home/hadoop/yangyang/hadoop/etc/hadoop/
      scp core-site.xml hadoop@192.168.3.2:/home/hadoop/yangyang/
      hadoop/etc/hadoop/
      scp hdfs-site.xml hadoop@192.168.3.3:/home/hadoop/yangyang/
      hadoop/etc/hadoop/
    • 6.3 停掉全部服務
      ./stop-dfs.sh
      30.png-55.7kB
    • 6.4 啓動全部節點的zookeeper
      cd /home/hadoop/yangyang/zookeeper/bin
      ./zkServer.sh start
      31.png-28.3kB
      其餘節點一樣啓動
      啓動如master.hadoop.com 節點同樣
    • 6.5 初始化ZK
      cd /home/hadoop/yangyang/hadoop/bin/
      ./hdfs zkfc –formatZK
      32.png-68.6kB
      33.png-79.6kB
    • 6.6 啓動HDFS 與瀏覽器測試:
      cd /home/hadoop/yangyang/hadoop/sbin/
      ./start-dfs.sh
      34.png-85.2kB
      jps 檢查:
      master.hadoop.com
      35.png-7.3kB
      slave1.hadoop.com
      36.png-7.3kB
      slave2.hadoop.com
      37.png-5.6kB
      查看瀏覽器:
      master.hadoop.com
      38.png-39.6kB
      slave1.hadoop.com
      39.png-51.2kB
    • 6.7驗證故障轉移:
      殺掉 master.hadoop.com 的namenode 進程
      40.png-11kB
      slave1.hadoop.com
      41.png-28.8kB
      啓動master.hadoop.com 的namenode
      ./hadoop-daemon.sh start namenode
      42.png-14.5kB
      43.png-7.4kB
      44.png-38.1kB
相關文章
相關標籤/搜索