hadoop 分散磁盤I/O
配置 dfs.data.dir,將其值配置爲多塊磁盤
<key>dfs.data.dir</key>
<value>/data/data1,/data/data2,/data/data3</value>
####假設多塊磁盤被掛在以上目錄中
2. mapreduce中間數據臨時文件分散寫
老的配置參數爲,mapred.local.dir,新配置待查。
3. 以noatime和nodiratime方式裝載磁盤
#atime:linux中文件在創建、修改、訪問的時候會更新時間信息,是一筆很大的資源開銷。
#diratime:每一次訪問需要更新inode在文件系統中的訪問時間。
設置:
#1:卸載磁盤
#2:修改
vi /etc/fstab
/dev/xvdc /mnt/is1 ext3 defaults,noatime,nodiratime 0 0
/dev/xvdd /mnt/is2 ext3 defaults,noatime,nodiratime 0 0
#3:重新掛載
4. 取消特權塊空間
默認情況下,會保留一些文件塊供特權進程使用,爲防止用戶進程將空間佔滿,使得系統進程餓死。
因爲我們的集羣就是使用hadoop,所以可以降低這些塊的百分比。
5. vm.swappiness
該參數用來定義將內存頁交換到磁盤中的主動程序,值越低表示交換頻率越低。
如果交換頻率過高,會導致regionserver進程因爲zookeeper會話超時而被強制終止。