国产乱人伦偷精品视频不卡_久久久国产综合精品女国产盗摄_亚洲精品视频在线_一本一道波多野结衣一区二区

天天關(guān)注:解密HDFS如何判斷磁盤存儲大小,存儲動態(tài)負(fù)載均衡的?

來源:滌生大數(shù)據(jù)時間:2023-04-26 14:29:51
1. HDFS對底層的磁盤存儲如何選擇的?

一個HDFS集群,會有很多個datanode節(jié)點,每個datanode節(jié)點會掛載很多塊磁盤。HDFS在存儲數(shù)據(jù)時如何動態(tài)負(fù)載均衡最優(yōu)化地往每個datanode,每個磁盤上存儲數(shù)據(jù)呢?

其實沒啥,DataNode在運行過程中,為了計算DN的capacity使用量,實現(xiàn)數(shù)據(jù)存儲的動態(tài)均衡,DN會對已配置的數(shù)據(jù)存儲路徑(dfs.datanode.data.dir)進(jìn)行du -sk操作,以此獲得capacity使用量匯報給NN中,然后NN就知道哪些DN有空間能被寫數(shù)據(jù)進(jìn)去,哪些是空間不足的。

為了保證數(shù)據(jù)使用量的近實時性,目前DN是以默認(rèn)10分鐘的間隔時間執(zhí)行一次。假設(shè)按照一個DN節(jié)點12個數(shù)據(jù)目錄對應(yīng)12塊盤的情況,就會有12個du操作在每個10分鐘內(nèi)都會執(zhí)行一次。在datanode存儲的數(shù)據(jù)使用率比較高的時候,會十分消耗性能。直接引發(fā)阻塞io,系統(tǒng)load直線增高。


(資料圖片)

這種問題在大規(guī)模的集群中是很常見的,下面是針對線上(hadoop2.6版本的)簡易零時的優(yōu)化手段。說明:此問題僅存在于低于hadoop2.8版本,高于此版本已經(jīng)修復(fù)。

https://issues.apache.org/jira/browse/HADOOP-9884

如果碰到這種情況,升級不了集群版本,那么我們還有其他奇技淫巧嗎?

2.通過修改HDFS代碼實現(xiàn)優(yōu)化先回顧一下du,df的使用

du原理簡述:

du命令全程disk usage,它的統(tǒng)計原理在于將目標(biāo)路徑下的當(dāng)前沒有被刪除的文件進(jìn)行大小累加,然后得出總使用量。這種計算方式在文件數(shù)量少時往往不會表現(xiàn)出什么問題。但是當(dāng)目標(biāo)路徑目錄多,文件多的時候,du會表現(xiàn)出明顯的時間執(zhí)行耗時。

df 原理簡述:

df命令統(tǒng)計值通過文件系統(tǒng)獲取的。df命令的弊端是它不能按照具體目錄進(jìn)行使用量的統(tǒng)計。df是按照所在磁盤級別進(jìn)行統(tǒng)計的。換句話說,用df命令在屬于同一塊物理盤的子路徑下執(zhí)行df命令,獲取的值會是完全一致的。比較遺憾,這種情況將無法支持DataNode多block pool共用一塊盤的情況。

處理方式:使用 df 命令替換 du

捕獲到datanode執(zhí)行過程中調(diào)用的 du -sk 命令,替換為df -k 。

實現(xiàn)腳本如下:

##將原始的 du指令更換名稱

mv /usr/bin/du /usr/bin/du_bak
vim /usr/bin/du
#!/bin/shif [[ $2 == */current/BP-* ]] && [ $1 == -sk ]then    used=`df -k $2 | grep -vE "Used" | awk "{print $3}"`    echo -e "$used\t$2"else    echo -e "$(du_bak $@)"fi

chmod +x /usr/bin/du

3.批量部署的執(zhí)行環(huán)境

跳板機(10.90.72.195)已經(jīng)部署好ansible環(huán)境,配置主機名,執(zhí)行ansible-playbook腳本即可。

執(zhí)行路徑:/home/tool/updata_datanodes_du需要修改的配置文件:/home/tool/updata_datanodes_du/datanodes執(zhí)行腳本:./run.sh

updata_du.yml

---- hosts: all_datanodesremote_user: rootgather_facts: F # 跳過gather_facts環(huán)節(jié)serial: 70 #開啟的并發(fā)數(shù)tasks:- name: "檢查主機du是否已經(jīng)被部署過"stat:path: "/usr/bin/du_bak"register: file_stat- name: "同步du腳本文件到目標(biāo)主機"copy: # 使用復(fù)制模塊,進(jìn)行文件分發(fā),從本地主機分發(fā)到遠(yuǎn)程主機src: "{{ item.src }}" # 源文件,變量定義多個源文件dest: "/tmp/" # 文件復(fù)制到目標(biāo)主機的目錄owner: rootgroup: rootmode: 0777with_items: # 本地源文件列表- { src: "/home/tool/updata_datanodes_du/scp_files/du" }when: not file_stat.stat.exists- name: "檢查du文件是否同步成功"stat:path: "/tmp/du"register: tmp_du_stat- name: "備份du文件"command: mv /usr/bin/du /usr/bin/du_bakwhen: tmp_du_stat.stat.exists- name: "更新為新的du腳本文件"command: mv /tmp/du /usr/bin/duwhen: tmp_du_stat.stat.exists

標(biāo)簽:

責(zé)任編輯:FD31
上一篇:一年之計在于春一日之計在于晨寸金難買寸光陰的意思_一年之計在于春后幾句的意思
下一篇:每日消息!計算機中所有的信息都是以二進(jìn)制形式存放的為什么_計算機中的所有信息都是以二進(jìn)制方式表示的主要理由是

精彩圖集(熱圖)

熱點圖集

最近更新

信用中國

  • 信用信息
  • 行政許可和行政處罰
  • 網(wǎng)站文章

主站蜘蛛池模板: 精品国产拍在线观看| 国产精品免费福利| 97精品国产97久久久久久免费| www.日韩不卡电影av| 狠狠色伊人亚洲综合网站色| 日韩中文字幕在线视频播放| 久久最新免费视频| 亚洲精品免费网站| 国产精品91久久| 国产日韩欧美黄色| 一区二区视频在线免费| 国产精品日韩二区| 久久免费国产视频| 欧美日韩精品久久久免费观看| 91|九色|视频| 国产精品久久久久福利| 久久av中文字幕| 久久亚洲精品成人| 欧美日韩一区二区三区免费 | 91久久久久久久一区二区| 国产欧美日韩91| 久久精品夜夜夜夜夜久久| 欧美专区中文字幕| 午夜精品理论片| 亚洲中文字幕无码不卡电影| 国产综合免费视频| 久久精品久久精品国产大片| 欧美日韩在线不卡视频| 日韩av不卡播放| 欧美综合国产精品久久丁香| 日本婷婷久久久久久久久一区二区| 日韩中文字幕免费视频| 视频在线一区二区| 日韩不卡av| 久久综合色88| 久久的精品视频| 久久99国产精品久久久久久久久| 久久精品男人天堂| 久久久久久噜噜噜久久久精品| 久久在精品线影院精品国产| 久久国产精品99久久久久久丝袜|