帶你快速搭建Hadoop的HA集群!

      網友投稿 769 2022-05-29

      相信在看了上一篇博客《帶你快速認識NamenodeHA和Yarn HA,為搭建HadoopHA集群打下基礎!》后,大家一定對于如何搭建HA集群非常期待?(?????)?不要慌,本篇博客即將為大家帶來搭建HA集群的詳細教程!

      碼字不易,先贊后看!

      文章目錄

      Hadoop HA集群的搭建

      友情提示

      <1> 安裝配置Hadoop集群

      ① 備份集群

      ② 解壓新的集群

      ③ 配置HDFS

      ④ 修改core-site.xml

      ⑤ 修改hdfs-site.xml

      ⑦ 修改mapred-site.xml

      ⑧修改yarn-site.xml

      ⑨修改slaves

      ⑩配置免密登錄

      <2> 啟動各項進程

      ① 啟動zookeeper集群

      ② 手動啟動journalnode

      ③ 格式化namenode

      ④格式化ZKFC(在active上執行即可)

      ⑤ 啟動HDFS(在node01上執行)

      ⑥ 啟動YARN

      <3> 瀏覽器訪問

      <4> 拓展

      Hadoop HA集群的搭建

      以下所有的操作均是有Hadoop集群的基礎上執行的

      。建議第一次安裝集群的朋友先去看這篇博客《Hadoop(CDH)分布式環境搭建》,先搭建起一個正常可用的集群,再看這篇博客《zookeeper的安裝詳解》在集群上安裝好了Zookeeper后再來看這篇

      進階

      的博客。

      <1> 安裝配置Hadoop集群

      因為我們事先已經搭建好了一個集群,所以我們需要先把之前的hadoop集群關閉。

      stop-all.sh

      然后將之前的hadoop所在的目錄進行備份(三臺節點)

      cd /export/servers/

      mv mv hadoop-2.6.0-cdh5.14.0 hadoop-2.6.0-cdh5.14.0_bk

      進入到hadoop安裝包所在的目錄,重新解壓。

      cd /export/softwares/

      tar -zxvf hadoop-2.6.0-cdh5.14.0.tar.gz -C ../servers/

      需要注意的是,hadoop2.0所有的配置文件都在

      $HADOOP_HOME/etc/hadoop

      目錄下

      這一步本該是做一些添加系統環境變量之類的操作,但因為我們在之前的集群中就已經完成了這些操作,所以這一步的內容就可以直接跳過了~這也是為什么我推薦你們先搭建好一個集群的原因。

      進入到指定的目錄下:

      cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop

      編輯core-site.xml,添加如下配置

      vim core-site.xml

      fs.defaultFS hdfs://cluster1 hadoop.tmp.dir /export/servers/hadoop-2.6.0-cdh5.14.0/HAhadoopDatas/tmp ha.zookeeper.quorum node01:2181,node02:2181,node03:2181

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      vim hdfs-site.xml

      dfs.nameservices cluster1 dfs.ha.namenodes.cluster1 nn1,nn2 dfs.namenode.rpc-address.cluster1.nn1 node01:8020 dfs.namenode.http-address.cluster1.nn1 node01:50070 dfs.namenode.rpc-address.cluster1.nn2 node02:8020 dfs.namenode.http-address.cluster1.nn2 node02:50070 dfs.namenode.shared.edits.dir qjournal://node01:8485;node02:8485;node03:8485/cluster1 dfs.journalnode.edits.dir /export/servers/hadoop-2.6.0-cdh5.14.0/journaldata dfs.ha.automatic-failover.enabled true dfs.client.failover.proxy.provider.cluster1 org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider dfs.ha.fencing.methods sshfence dfs.ha.fencing.ssh.private-key-files /root/.ssh/id_rsa dfs.ha.fencing.ssh.connect-timeout 30000

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      44

      45

      46

      47

      48

      49

      50

      51

      52

      53

      54

      55

      56

      57

      58

      59

      60

      61

      62

      63

      64

      65

      66

      67

      68

      69

      先備份一份

      cp mapred-site.xml.template mapred-site.xml

      編輯mapred-site.xml,添加如下內容

      mapreduce.framework.name yarn

      1

      2

      3

      4

      5

      6

      7

      修改yarn-site.xml,添加如下內容:

      vim yarn-site.xml

      yarn.resourcemanager.ha.enabled true yarn.resourcemanager.cluster-id yrc yarn.resourcemanager.ha.rm-ids rm1,rm2 yarn.resourcemanager.hostname.rm1 node01 yarn.resourcemanager.hostname.rm2 node02 yarn.resourcemanager.zk-address node01:2181,node02:2181,node03:2181 yarn.nodemanager.aux-services mapreduce_shuffle

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      帶你快速搭建Hadoop的HA集群!

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      vim slaves

      node01 node02 node03

      1

      2

      3

      4

      將軟件拷貝到所有節點

      這里是用scp命令,當然xsync可是可以的~

      scp -r hadoop-2.6.0-cdh5.14.0 node02:/$PWD

      scp -r hadoop-2.6.0-cdh5.14.0 node03:/$PWD

      這里需要對主備節點配置免密登錄,但因為我們在安裝原始集群的時候已經配置好了,所以這一步也可以跳過了~

      #首先要配置node01到node01、node02、node03 的免密碼登陸

      #在node01上生產一對鑰匙

      ssh-keygen

      #將公鑰拷貝到其他節點,包括自己

      ssh-coyp-id node01

      ssh-coyp-id node02

      ssh-coyp-id node03

      #注意:兩個namenode之間要配置ssh免密碼登陸 ssh遠程補刀時候需要

      #在node02上生產一對鑰匙

      ssh-keygen

      #將公鑰拷貝到node01

      ssh-coyp-id node01

      <2> 啟動各項進程

      嚴格按照下面的步驟,否則不能保證一定能成功

      分別在node01,node02,node03節點上啟動zookeeper

      bin/zkServer.sh start #查看狀態:一個leader,兩個follower bin/zkServer.sh status

      1

      2

      3

      分別在在node01、node02、node03上執行

      hadoop-daemon.sh start journalnode #運行jps命令檢驗,node01、node02、node03上多了JournalNode進程

      1

      2

      #在node01上執行命令: hdfs namenode -format #格式化后會在根據core-site.xml中的hadoop.tmp.dir配置的目錄下生成個hdfs初始化文件, hadoop.tmp.dir配置的目錄下所有文件拷貝到另一臺namenode節點所在的機器 scp -r tmp/ node02:/home/hadoop/app/hadoop-2.6.4/

      1

      2

      3

      4

      5

      6

      hdfs zkfc -formatZK

      1

      start-dfs.sh

      1

      start-yarn.sh 還需要手動在standby上手動啟動備份的 resourcemanager yarn-daemon.sh start resourcemanager

      1

      2

      3

      <3> 瀏覽器訪問

      配置完上述,用jps查看當前進程

      [root@node01 helloworld]# jps 14305 QuorumPeerMain 15186 NodeManager 14354 JournalNode 14726 DataNode 20887 Jps 15096 ResourceManager 15658 NameNode 14991 DFSZKFailoverController

      1

      2

      3

      4

      5

      6

      7

      8

      9

      終于可以用瀏覽器進行訪問了~

      訪問node01

      http://node01:50070

      可以發現當前該節點namenode的狀態為Active

      訪問node02

      http://node02:50070

      可以發現當前該節點namenode的狀態為(standby)

      說明我們的HA集群部署成功了~

      接下來我們向hdfs上傳一個文件

      hadoop fs -put /etc/profile /profile

      通過UI界面可以看到新的文件上傳上來了

      然后再kill掉active狀態節點(也就是node01)的NameNode

      kill -9

      這個時候我們通過瀏覽器訪問node02

      http://node02:50070

      發現node01"宕機"之后,node02的namenode處于Active的狀態!

      在node02節點運行下列命令,可以發現集群的數據跟node01宕機前是一樣的。

      hadoop fs -ls / -rw-r--r-- 3 root supergroup 1926 2014-02-06 15:36 /profile

      1

      2

      剛剛我們手動"干掉"了node01節點上的namenode,現在我們手動啟動它。

      hadoop-daemon.sh start namenode

      前面驗證了HA,現在我們來認證一下Yarn!

      任意一個節點,運行一下hadoop提供的demo中的WordCount程序:

      hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.0.jar wordcount /profile /out

      看到上述的效果圖,說明我們的HA集群算是搭建成功了!!!

      <4> 拓展

      OK大功告成!下面拓展一些測試HA集群的命令

      hdfs dfsadmin -report 查看hdfs的各節點狀態信息 hdfs haadmin -getServiceState nn1 獲取一個namenode節點的HA狀態 hadoop-daemon.sh start zkfc 單獨啟動一個zkfc進程

      1

      2

      3

      4

      5

      本次分享就到這里,受益的小伙伴或對大數據技術感興趣的朋友不妨關注一下博主~

      互相學習,共同進步!

      Hadoop XML

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:關系型數據庫的外鍵約束與關聯
      下一篇:人臉檢測進階:使用 dlib、OpenCV 和 Python 檢測面部標記
      相關文章
      一本久久a久久精品亚洲| 亚洲人av高清无码| 最新亚洲人成无码网站| 色噜噜亚洲男人的天堂| 亚洲欧洲精品国产区| 亚洲成a人片在线观看中文动漫 | 亚洲国产视频一区| 亚洲精品日韩中文字幕久久久| 亚洲一级二级三级不卡| 亚洲一区二区在线视频| 久久精品国产精品亚洲毛片| 亚洲欧洲第一a在线观看| 亚洲综合自拍成人| 亚洲精品第五页中文字幕| 亚洲欧洲日产国码在线观看| 亚洲福利电影一区二区?| 亚洲国产精品成人久久久| 亚洲婷婷综合色高清在线| 亚洲一卡二卡三卡四卡无卡麻豆| 亚洲中文久久精品无码1| 亚洲国产精品免费观看| 亚洲色最新高清av网站| 亚洲av永久无码一区二区三区| 亚洲jizzjizz少妇| 无码欧精品亚洲日韩一区夜夜嗨 | 国产成人亚洲精品91专区高清| 国产亚洲视频在线播放大全| 日本亚洲高清乱码中文在线观看| 国产一区二区三区亚洲综合| 亚洲无码日韩精品第一页| 亚洲综合色视频在线观看| 亚洲人成人无码网www电影首页 | 亚洲精品一区二区三区四区乱码| 亚洲高清无在码在线无弹窗| 亚洲人成网站日本片| 亚洲精品第一综合99久久| 亚洲AV无码一区二区三区性色 | 亚洲伊人久久成综合人影院| 亚洲精品国产精品乱码不99| 亚洲人成网站影音先锋播放| 亚洲色大成网站www永久|