hadoop之 心跳時間與冗餘快清除
1.Hadoop datanode節點超時時間設定
datanode程式死亡或者網路故障造成datanode無法與namenode通訊,namenode不會立即把該節點判定為死亡,要經過一段時間,這段時間暫稱作超時時長。HDFS預設的超時時長為10分鐘+30秒。如果定義超時時間為timeout,則超時時長的計算公式為:
timeout = 2 * heartbeat.recheck.interval + 10 *dfs.heartbeat.interval。
而預設的heartbeat.recheck.interval大小為5分鐘,dfs.heartbeat.interval預設為3秒。
需要注意的是hdfs-site.xml配置檔案中的heartbeat.recheck.interval的單位為毫秒,dfs.heartbeat.interval的單位為秒。所以,舉個例子,如果heartbeat.recheck.interval設定為5000(毫秒),dfs.heartbeat.interval設定為3(秒,預設),則總的超時時間為40秒。
hdfs-site.xml中的引數設定格式:
<property>
<name>heartbeat.recheck.interval</name>
<value>2000</value>
</property>
<property>
<name>dfs.heartbeat.interval</name>
<value>1</value>
</property>
2.HDFS冗餘資料塊的自動刪除
在日常維護hadoop叢集的過程中發現這樣一種情況:
某個節點由於網路故障或者DataNode程式死亡,被NameNode判定為死亡,HDFS馬上自動開始資料塊的容錯複製;當該節點重新新增到叢集中時,由於該節點上的資料其實並沒有損壞,所以造成了HDFS上某些block的備份數超過了設定的備份數。透過觀察發現,這些多餘的資料塊經過很長的一段時間才會被完全刪除掉,那麼這個時間取決於什麼呢?
該時間的長短跟資料塊報告的間隔時間有關。Datanode會定期將當前該結點上所有的BLOCK資訊報告給Namenode,
引數dfs.blockreport.intervalMsec就是控制這個報告間隔的引數。
hdfs-site.xml檔案中有一個引數:
<property>
<name>dfs.blockreport.intervalMsec</name>
<value>3600000</value>
<description>Determines block reporting interval in milliseconds.</description>
</property>
其中3600000為預設設定,3600000毫秒,即1個小時,也就是說,塊報告的時間間隔為1個小時,所以經過了很長
時間這些多餘的塊才被刪除掉。透過實際測試發現,當把該引數調整的稍小一點的時候(60秒),多餘的資料塊
確實很快就被刪除了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2150724/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 10g RAC 修改心跳為繫結網路卡(設定冗餘)Oracle 10g
- 資料庫設計之欄位冗餘資料庫
- 安裝Infrastructure時(建ocr)與建庫時(datafile)的ASM 冗餘的區別ASTStructASM
- 網路冗餘技術
- 修改ASM磁碟組冗餘模式ASM模式
- 廉價冗餘磁碟陣列陣列
- 找出冗餘索引的指令碼索引指令碼
- 資料庫效能優化之冗餘欄位的作用資料庫優化
- Kafka之消費與心跳Kafka
- 細說 Azure Storage 的冗餘策略
- MySQL 冗餘和重複索引薦MySql索引
- 演算法題——冗餘連線演算法
- 資料庫設計——冗餘欄位資料庫
- 如何消除冗餘資料的安全風險?
- FHRP - 閘道器冗餘協議協議
- 虛擬路由冗餘協議VRRP路由協議VR
- ASM可以更改冗餘度&增加failgroup嗎?ASMAI
- MSSQL冗餘欄位的策略和管理SQL
- 冗餘是什麼意思?與雙機熱備有什麼區別?
- 海明碼舉例分析(監督關係與資訊碼 冗餘位)
- Swoole學習(六)Swoole之定時器的建立與清除定時器
- mysql時間與字串之間相互轉換MySql字串
- SDWebImage清除快取Web快取
- 如何刪除Git倉庫中冗餘的tag?Git
- iOS專案冗餘資源掃描指令碼iOS指令碼
- 機器學習中如何用篩選器檢測冗餘?機器學習
- 小白讀iOS冗餘資源掃描指令碼iOS指令碼
- 使用Addressables+SpriteAtlas打包產生冗餘
- Hadoop技巧(02):時間同步Hadoop
- Oracle CSS的引數設定 心跳時間設定OracleCSS
- 清除UITableView底部多餘的分割線UIView
- 詳解清除MongoDB所佔用的多餘的磁碟空間的方法MongoDB
- 大資料技術與Hadoop之間的關係大資料Hadoop
- 大資料與Hadoop之間是什麼關係?大資料Hadoop
- SAP CRM Fiori應用冗餘round trip的原因分析
- 詳解分散式系統本質:“分治”和“冗餘”分散式
- VRRP-虛擬路由器冗餘協議VR路由器協議
- VS Code 正則匹配(冗餘程式碼批量清理方法)