日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hadoop主节点切换_hadoop2.0 HA的主备自动切换

發布時間:2025/3/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop主节点切换_hadoop2.0 HA的主备自动切换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在《hadoop2.0 QJM方式的HA的配置》一文中介紹了HA的配置,是通過手工進行主備切換的。本文在這基礎上,繼續介紹HA的主備自動切換(automatic failover)的配置。自動切換是通過配置zookeeper來實現的,關于zookeeper的安裝和配置,在這里不做介紹了,大家可以參考網上的資料。

1 準備

假定已經有一個zookeeper的集群,3臺機器如下:zookeeper1

zookeeper2

zookeeper3

兩個namenode節點如下:namenode1

namenode2

2 配置

只涉及到core-site.xml和hdfs-site.xml兩個配置文件,其他配置可以文件參考《hadoop2.0的安裝和基本配置》一文。

2.1 core-site.xml

需要增加ha.zookeeper.quorum參數,加上zookeeper的服務地址

完整配置如下:

fs.defaultFS

hdfs://mycluster

hadoop.tmp.dir

/home/tmp/hadoop2.0

ha.zookeeper.quorum

zookeeper1:2181,zookeeper2:2181,zookeeper3:2181

2.2 hdfs-site.xml

dfs.replication

1

dfs.namenode.name.dir

/home/dfs/name

dfs.datanode.data.dir

/home/dfs/data

dfs.permissions

false

dfs.nameservices

mycluster

dfs.ha.namenodes.mycluster

nn1,nn2

dfs.namenode.rpc-address.mycluster.nn1

namenode1:8020

dfs.namenode.rpc-address.mycluster.nn2

namenode2:8020

dfs.namenode.http-address.mycluster.nn1

namenode1:50070

dfs.namenode.http-address.mycluster.nn2

namenode2:50070

dfs.namenode.shared.edits.dir

qjournal://journalnode1:8485;journalnode2:8485;journalnode3:8485/mycluster

dfs.journalnode.edits.dir

/home/dfs/journal

dfs.client.failover.proxy.provider.mycluster

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

dfs.ha.fencing.methods

shell(/bin/true)

dfs.ha.automatic-failover.enabled

true

dfs.ha.automatic-failover.enabled

需要設置為true,啟動自動切換。dfs.ha.fencing.methods

這里我們把fencing方法設置為shell,一是為了方便測試,二是采用QJM方式的HA本身就有fencing功能,不需要用這個參數中的fencing功能,詳解請參考《hadoop2.0 QJM方式的HA的配置》一文。你用sshfence的方法也是可以的,不過要注意ssh連接的問題和一些權限的問題。

3 在zookeeper中初始化$HADOOP_HOME/bin/hdfs zkfc -formatZK

運行這個命令后,會在zookeeper上創建一個/hadoop-ha/mycluster/的znode,用來存放automatic failover的數據。

4 啟動zkfc(zookeeper failover controller)

需要在namenode1和namenode2上都啟動zkfc daemon進程。$HADOOP_HOME/sbin/hadoop-daemon.sh start zkfc

5 啟動HDFS

在兩個namenode都啟動之后,會發現,其中一個namenode會自動切換成active狀態,不需要手工切換。

6 測試

現在可以享受我們的勝利成果了。我們把active namenode停掉后,會看到standby namenode自動切換成active狀態了。

7 QJM方式HA automatic failover的結構圖

QJM方式HA的結構涉及到active namenode,standby namenode,journalnode,datanode,zookeeper,zkfc,client,這里通過一個圖描述他們之間的關系。

8 實戰tipszookeeper可以在hadoop集群中選幾臺機器同時作為zookeeper節點,給HA私用。

在實踐中建議采用手工切換的方式,這樣更可靠,也方便查找問題。

參考資料

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的hadoop主节点切换_hadoop2.0 HA的主备自动切换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。