china0114.com-日韩欧美中文免费,免费视频一区,免费视频一区,国产精品色网

公眾號
關注微信公眾號
移動端
創頭條企服版APP

Router-Based HDFS Federation 在滴滴大數據的應用

5183
網絡大數據 2019-09-18 17:25 搶發第一評
HDFS 的 Master Slave 架構,使得其具有單點瓶頸,即隨著業務數據的大規模膨脹,Master 節點在元數據存儲與提供服務上都會存在瓶頸。

HDFS 的 Master/Slave 架構,使得其具有單點瓶頸,即隨著業務數據的大規模膨脹,Master 節點在元數據存儲與提供服務上都會存在瓶頸。為了克服 HDFS 單點瓶頸存在的擴展性、性能、隔離問題,社區提出了 Federation(https:// issues.apache. org/jira/browse/HDFS-1052 )方案來進行解決。

但是使用該方案之后,暴露給客戶的問題就是,同一個集群出現了多個命名空間(namespace),客戶需要知道讀寫的數據在哪個命名空間下才可以進行操作。為了解決統一命名空間的問題,社區提出了基于客戶端(client-side)的解決方案 ViewFS(https:// issues.apache. org/jira/browse/HADOOP-7257 ),該方案會在客戶端做好配置,用戶目錄一對一的掛載到具體的命名空間目錄上,滴滴在解決 Federation 問題時使用的就是這個方案。

ViewFS 方案也存在一些問題:

對于已經發布出去客戶端升級比較困難;

對于新增目錄需要增加掛載配置,與產品對接,維護起來比較困難。

社區在 2.9 和 3.0 版本中發布了一個新的解決統一命名空間問題的方案 Router-Based Federation(https:// issues.apache. org/jira/browse/HDFS-10467 ),該方案是基于服務端進行實現的,在升級管理方面比較好維護,滴滴最近引入了該方案,并進行了一些改造。

Router-Based Federation 方案介紹

Router-Based Federation 對外提供了 Router 服務,包含在 Federation layer 中,如下圖所示。這個 Router 服務將允許用戶透明地訪問任何子集群,讓子集群獨立管理自己的 Blockpool。為了實現這些目標,Federation layer 必須將 Block 訪問引導至適當的子群集。同時,它具有可擴展性,高可用性和容錯性。

?

?

Federation layer 包含多個組件。Router 是一個與 Namenode 具有相同接口的組件,根據 State Store 的元數據信息將客戶端請求轉發給正確的子集群。State Store 組件包含了遠程掛載表(具有 ViewFS 特性,但在客戶端之間共享)和有關 SubCluster 的負載 / 空間信息。

下圖架構中顯示每個子集群增加了 Router(標記為“R”)和邏輯集中式(但物理分布式)的狀態存儲(State Store),以及每個 SubCluster 的 Namenodes(“NN”)和 Datanodes(“DN”)。這種方法與 YARN Federation(YARN-2915)具有相同的架構。

?

?

1、Router 組件

系統中可以有多個的 Router,每個 Router 有兩個角色:

1)向客戶端提供一個全局 Namenode 接口并負責轉發請求正確的子群集中的 Active Namenode;

2)在 State Store 中維護關于 Namenode 的信息。

Router 在收到客戶端請求,根據 mount-table 中的信息查找正確的子集群,然后轉發對該集群請求到對應子集群 Active Namenode。在收到 Active Namenode 的響應結果之后,將結果返回給客戶端 。 為了提升性能,Router 可以緩存遠程掛載表條目和子集群的狀態。

對于 Namenode 信息的維護,Router 定期檢查一個 Namenode 的狀態和向 State Store 報告其高可用性(HA)狀態和負載 / 空間狀態。 為了提高 Namenode HA 的性能,Router 使用 State Store 中的高可用性狀態信息, 以將請求轉發到最有可能處于活動狀態的 Namenode。

1.1 可用性與容錯性

Router 是無狀態的,所有 Router 同時提供服務。如果某個 Router 變成不可用,不影響其他任何 Router 提供服務。

客戶端配置他們的 DFS HA 客戶端(例如 ConfiguredFailoverProvider 或 RequestHedgingProxyProvider)與 Federation 中的所有 Router 配合使用。

為了實現高可用性和靈活性,多個 Router 可以監控相同的 Namenode 并把心跳發送信息到 State Store。 如果 Router 出現故障,這會增加信息的恢復能力。

1.2 Safe Mode

如果 Router 不能連接到 State Store,它可能會錯誤地提供過期 locations 的訪問,讓 Federation 進入不一致的狀態。

為防止這種情況發生,當 Router 無法連接到 State Store 一段時間后,它會進入安全模式(類似于 Namenode 的 safe mode)。當客戶端嘗試訪問 safe mode 的 Router 時候,會拋出異常,客戶端的 Proxy 捕獲后,會嘗試連接其他的 Router。類似于 Namenode,Router 保持在這個安全模式,直到它確定 State Store 可用為止。

這可以防止 Router 啟動時出現不一致。 假定一個 Router 如果在一段時間內沒有心跳(例如,心跳間隔的五倍),則它已經死亡或處于安全模式。

1.3 交互接口

為了與用戶和管理員進行交互,Router 公開了多個接口。包括 RPC、Admin、WebUI 。

RPC 實現了客戶端與 HDFS 交互的最常見接口。 目前僅支持使用普通 MapReduce,Spark 和 Hive ( on Tez,Spark 和 MapReduce)。一些高級特性,如快照、加密和分層存儲在未來版本實現。 所有未實現的功能都會拋出異常。

Admin 為管理員實現的一個 RPC 接口,包括從子集群獲取信息、添加 / 刪除條目到 mout table。也可以通過命令行獲取和修改 Federation 信息。WebUI 實現了一個可視化 Federation 狀態,模仿了當前的 Namenode UI,除此之外,還包含 mout table,每個子集群的成員信息以及 Router 的狀態。

2、State Store 組件

State Store 維護的信息包括:

1)子集群的塊訪問負載,可用磁盤空間,HA 狀態等狀態;

2)文件夾 / 文件和子集群之間的映射,即遠程 Mount Table;

3)Router 的狀態。State Store 的后端存儲是可配置的。 既可以可以存儲在文件中,也可以存在 ZooKeeper 中。

2.1 Membership

Membership 反映了 Federation 中的 Namenode 的狀態。包括有關子集群的信息,例如存儲量和節點數量。Router 定期檢測一個或多個 Namenode 的信息。

2.2 Mount Table

管理文件夾和子集群之間的映射。 它與 ViewFS 中的 Mount Table 類似:

?

2.3 Router State

為了跟蹤 Router 中 caches 的狀態,Router 將其版本信息、狀態信息等存儲在 State Store 中。

3、未來計劃

目前 RBF 只是實現了一些基本 Namenode 接口,有些接口并不支持,HDFS-13655( https://issues.apache.org/jira/browse/HDFS-13655 )中會實現一些不支持的協議接口;當前 RBF 的穩定性也還存在一些問題,HDFS-13891( https://issues.apache.org/jira/browse/HDFS-13891 )會跟蹤一些穩定性問題進而解決掉。

Router-Based Federation 在滴滴的應用

1、部署情況

社區 Hadoop 在 2.9 和 3.0 中發布了 RBF 這個 Feature,滴滴目前的 Hadoop 版本是 2.7.2,我們的做法是將 branch-2 分支里關于 RBF 的提交都移植到了我們的代碼中,做了一些必要的修改工作。

在滴滴的大數據集群中,Federation 拆成了 5 組 Namenode。經過性能測試,我們得出這樣的結論:一個 Router 對應服務一組 Namenode 不存在壓力,因此我們選擇部署 5 個 Router 來服務整個集群。目前 Router-Based Federation 方案在滴滴已經穩定運行 2 月有余。

2、兼容性

直接引入 RBF 在運行 Hive 任務時會出現一些錯誤,例如 Wrong FS 等等。為此我們將 Hive 客戶端代碼做了修改,使其兼容 RBF。在 Hive 的元數據存儲中,location 信息存儲的是帶 HDFS Schema 的絕對路徑信息,在 Hive 代碼中處理 move 邏輯時,我們都會將路徑做一個 resolve 得到實際的 HDFS 路徑,然后再進行處理,這樣可以避免該問題的出現。

3、RBF 社區貢獻

在實際測試中,我們也發現了 RBF 的一些性能問題和 BUG,包括 Quota 問題、mount-table cache 使用不當問題、mount-table 創建 znode 出現 Null 問題等等。在解決這些問題之后,將 patch 貢獻給了社區,大部分被社區接收,具體修復和優化如下:

?

?

4、額外工作

除了貢獻給社區的一些工作,內部也有額外的一些對 RBF 的工作。RBF 的 WebUI 目前的顯示存在一些問題,節點數量、存儲總量的顯示為各個集群之和,內部對存儲、節點數量的計算做了一些修改;為了更好的對接產品,對外增加了一些 API,方便產品服務通過 API 遠程增加 mount table 條目信息,而不只是使用管理工具。

總結

Router-Based Federation 方案在滴滴內部已經上線,穩定運行了兩個多月的時間了,在運維和產品上提供了極大的便利。未來我們會繼續參與社區,為豐富 RBF 的功能以及提高其穩定性貢獻一份力量。

作者:費輝

分享到:0收藏

上一篇:Hadoop之殤:沒有任何單一技術能重塑整個企業IT世界 最后一頁下一篇:

聲明:該文章版權歸原作者所有,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請在30日內與本網聯系。
您閱讀這篇文章花了0
轉發這篇文章只需要1秒鐘
喜歡這篇 0
評論一下 0
凱派爾知識產權全新業務全面上線
相關文章
評論
試試以這些內容開始評論吧
登錄后發表評論
凱派爾知識產權全新業務全面上線
寧波城市站
金華城市站
×
#熱門搜索#
精選雙創服務
歷史搜索 清空

Tel:18514777506

關注微信公眾號

創頭條企服版APP

china0114.com-日韩欧美中文免费,免费视频一区,免费视频一区,国产精品色网
午夜精品影院在线观看| 精品亚洲aⅴ乱码一区二区三区| 一区二区三区波多野结衣在线观看| 日韩成人免费看| 97精品超碰一区二区三区| 日韩欧美一区在线| 亚洲欧美区自拍先锋| 国产一区二区视频在线播放| 欧美三级电影网| 国产精品美女久久久久高潮| 美女网站色91| 欧美日韩小视频| 亚洲乱码国产乱码精品精可以看| 国产成人三级在线观看| 9191成人精品久久| 亚洲精品国产无套在线观| 高清视频一区二区| 精品国产精品网麻豆系列| 日韩一区精品字幕| 欧美色成人综合| 亚洲欧美偷拍另类a∨色屁股| 国产精品一区二区免费不卡| 日韩欧美一级二级| 午夜精品影院在线观看| 在线看日本不卡| 自拍偷拍国产精品| 白白色 亚洲乱淫| 国产色综合久久| 国产伦精品一区二区三区在线观看| 日韩一区二区精品在线观看| 日韩在线观看一区二区| 欧美精选一区二区| 午夜电影久久久| 欧美图片一区二区三区| 一区二区三区蜜桃| 欧美综合一区二区| 一区二区三区欧美亚洲| 91成人看片片| 亚洲免费观看高清完整版在线| 成人国产精品免费网站| 日本一二三四高清不卡| 福利一区福利二区| 中文字幕免费观看一区| 成人国产精品免费网站| 亚洲欧洲在线观看av| 99国内精品久久| 亚洲色图欧洲色图| 色噜噜狠狠成人网p站| 亚洲裸体在线观看| 国产成人精品1024| 欧美一区二区三区的| 亚洲人成在线播放网站岛国| 99免费精品视频| 国产精品久久久久影院| 成人动漫中文字幕| 亚洲欧洲成人精品av97| 色综合天天综合色综合av| 亚洲日本免费电影| 欧洲国产伦久久久久久久| 亚洲sss视频在线视频| 欧美精品日韩一本| 另类小说色综合网站| 精品电影一区二区三区| 国产精品一区二区视频| 国产精品久久久久影院色老大| 91影院在线观看| 亚洲大片精品永久免费| 欧美一区二区三区日韩视频| 狠狠狠色丁香婷婷综合久久五月| 久久久99久久| 99国产精品久久久久久久久久久| 日韩理论片在线| 欧美三级欧美一级| 九九视频精品免费| 国产精品麻豆欧美日韩ww| 91传媒视频在线播放| 日本中文字幕一区二区视频 | 久久五月婷婷丁香社区| 国产成人精品一区二区三区四区 | av影院午夜一区| 亚洲综合色丁香婷婷六月图片| 欧美喷水一区二区| 精品在线一区二区三区| 国产精品剧情在线亚洲| 欧美私模裸体表演在线观看| 老司机精品视频线观看86| 国产色综合久久| 欧美图片一区二区三区| 国产在线一区观看| 亚洲美女少妇撒尿| 欧美成人免费网站| 91香蕉视频污| 免费成人av在线| 国产精品国产三级国产aⅴ无密码| 欧洲一区在线电影| 经典三级在线一区| 伊人开心综合网| 精品久久国产字幕高潮| 91麻豆视频网站| 久久国产欧美日韩精品| 日韩码欧中文字| 精品国产麻豆免费人成网站| 91美女在线看| 韩国精品主播一区二区在线观看 | 国产精品一二二区| 亚洲一区二区三区国产| 久久精品视频网| 欧美日韩一区二区三区四区五区| 国产久卡久卡久卡久卡视频精品| 一区二区三区在线影院| 2024国产精品| 91福利视频久久久久| 国产精品一二三四区| 五月天激情综合| 日韩一区日韩二区| 精品国产一区二区三区久久影院| 日本韩国欧美国产| 国产电影精品久久禁18| 午夜精彩视频在线观看不卡| 国产精品欧美久久久久无广告| 69堂亚洲精品首页| 91在线一区二区| 国产精品18久久久久久久网站| 亚洲成av人片一区二区梦乃| 国产精品久久久久久久第一福利 | 国产一区二区三区久久久| 亚洲美女电影在线| 久久久精品中文字幕麻豆发布| 欧美日韩一级片在线观看| 成人sese在线| 国产在线看一区| 日韩专区欧美专区| 怡红院av一区二区三区| 国产精品毛片大码女人| 97se亚洲国产综合在线| 国产精品18久久久久久vr| 蜜桃视频第一区免费观看| 亚洲国产欧美在线人成| 亚洲人成精品久久久久| 国产日韩欧美一区二区三区乱码| 3d动漫精品啪啪| 在线视频你懂得一区| eeuss影院一区二区三区| 国产一区二区三区观看| 蜜桃视频在线观看一区| 亚洲18影院在线观看| 亚洲精品国产高清久久伦理二区| 中文字幕不卡三区| 久久久久久久久久久久电影| 日韩欧美国产精品| 欧美一区二区免费观在线| 欧美视频一区二区三区四区| 色悠久久久久综合欧美99| 成人黄色软件下载| 国产91丝袜在线观看| 国产伦理精品不卡| 狠狠v欧美v日韩v亚洲ⅴ| 美女视频黄 久久| 日韩av在线免费观看不卡| 午夜久久久久久久久| 亚洲成人中文在线| 亚洲一区二区三区视频在线播放| 亚洲精品国产a久久久久久| 亚洲免费电影在线| 亚洲欧美日韩一区二区| 亚洲三级在线观看| 亚洲人成精品久久久久久| 亚洲天堂成人网| 亚洲码国产岛国毛片在线| 亚洲女爱视频在线| 亚洲精品国产品国语在线app| 亚洲欧美国产高清| 一区二区三区日韩精品视频| 亚洲一区二区三区中文字幕在线| 亚洲在线观看免费视频| 亚洲h精品动漫在线观看| 日韩电影免费在线看| 日本人妖一区二区| 麻豆91在线观看| 国产麻豆一精品一av一免费| 国产成人免费网站| 成人av网站免费| 一本色道久久综合精品竹菊| 91九色02白丝porn| 欧美日韩视频专区在线播放| 91麻豆精品国产无毒不卡在线观看| 欧美喷水一区二区| 日韩欧美一二三区| 久久综合色之久久综合| 欧美—级在线免费片| 国产精品三级av在线播放| 亚洲欧洲综合另类| 午夜影院久久久| 日本不卡123| 国产精品一级在线| 99久久亚洲一区二区三区青草| 91久久精品一区二区三| 337p亚洲精品色噜噜狠狠| 精品国产欧美一区二区| 中文字幕精品在线不卡|