hadoop涉及到分攤磁碟io負載的配置
阿新 • • 發佈:2019-01-24
配置datanode block存放目錄的時候,機器多磁碟能分攤磁碟IO負載,以下配置
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/data2/hadoop/hd_space/dfs/data,file:/data3/hadoop/hd_space/dfs/data.........</value>
</property>
<property>
<name>dfs.datanode.fsdataset.volume.choosing.policy</name><value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
<description>
datanode資料副本存放的磁碟選擇策略,有2種方式一種是輪詢方式(org.apache.hadoop.hdfs.server.datanode.fsdataset.RoundRobinVolumeChoosingPolicy,為預設方式),
另一種為選擇可用空間足夠多的磁碟儲存方式,這個為了防止各個節點上的各個磁碟的儲存均勻採用這個方式。
</description>
</property>
<property>
<name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold</name>
<value>10737418240</value>
<description>
當在上面datanode資料副本存放的磁碟選擇可用空間足夠多的磁碟儲存方式開啟時,此選項才生效。這個引數主要功能是:
首先計算出兩個值,算出一個節點上所有磁碟中具有最大可用空間,另外一個值是所有磁碟中最小可用空間,如果這
兩個值相差小於該配置項指定的閥值時,則就用輪詢方式的磁碟選擇策略選擇磁碟儲存資料副本,如果比這個閥值大的話則
還是選擇可用空間足夠多的磁碟儲存方式。此項預設值為10737418240即10G
</description>
</property>
<property>
<name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction</name>
<value>0.75f</value>
<description>
預設值是0.75f,一般使用預設值就行。具體解析:有多少比例的資料副本應該儲存到剩餘空間足夠多的磁碟上。
該配置項取值範圍是0.0-1.0,一般取0.5-1.0,如果配置太小,會導致剩餘空間足夠的磁碟實際上沒分配足夠的資料副本,
而剩餘空間不足的磁碟取需要儲存更多的資料副本,導致磁碟資料儲存不均衡。
</description>
</property>
yarn-site.xml
中yarn.nodemanager.local-dirs配置中間結果目錄,yarn.nodemanager.log-dirs日誌配置也要分攤io配置;