探測準確度90%以上,小米工程師的HDFS慢節點監控與處理技術實踐

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"HDFS(Hadoop分佈式文件系統)集羣隨着使用時間的增長,難免會出現一些“性能退化”的節點,主要表現爲磁盤讀寫變慢、網絡傳輸變慢,我們統稱這些節點爲慢節點。當集羣擴大到一定規模,比如上千個節點的集羣,慢節點通常是不容易被發現的。大多數時候,慢節點都藏匿於衆多健康節點中,只有在客戶端頻繁訪問這些有問題的節點,發現讀寫變慢了,纔會被感知到。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因此,要想維護HDFS集羣讀寫性能穩定,慢節點問題一直是一個繞不開的話題。在Hadoop2.9之後,社區支持了從Namenode jmx上查看慢節點的功能,小米基於此框架,開發了一整套HDFS集羣慢節點監控及自動處理流程,在實際生產環境中,具有不錯的應用效果,可以保證慢節點能夠被及時準確發現,並在NameNode端自動規避處理。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"1、HDFS寫pipeline的流程"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了保證高可靠性,文件默認以三副本的形式保存在HDFS上,當client開始寫入一個新文件的時候,首先會找出三個DataNode建立pipeline,隨後數據以packet爲最小單元,依次通過pipeline裏的三個DN,完成三副本寫入。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章