在hadoop集群資料儲存多副本前提下,訪問hadoop hdfs集群時,訪問速度直接受到datanode選取策略的影響。可以通過自定義hadoop集群的網路拓撲結構,最大程度的發揮hadoop集群的效能。
某生產環境採用hadoop集群部署,其中兩台資料節點在idc機房,一台資料節點在阿里雲。預設情況下生產資料是隨機在這三颱伺服器中的其中一台做第乙份儲存,另外兩份備份在其他伺服器。需求:為了更快速的實現阿里雲節點對資料的儲存、讀取,需要阿里雲的資料在阿里雲本地伺服器儲存乙份,另兩份資料備份在idc機房。
#!/bin/bash
hadoop_conf=/home/hadoop/etc/hadoop
while [ $# -gt 0 ] ; do
nodearg=$1
exec< $/topology.data
result=""
while read line ; do
ar=( $line )
if [ "$" = "$nodearg" ] ; then
result="$"
fidone
shift
if [ -z "$result" ] ; then
echo -n "/default/rack "
else
echo -n "$result "
fidone
阿里雲資料會在阿里雲節點儲存乙份,另外兩份在idc機房集群伺服器上。net.topology.script.file.name
Hadoop 機架感知
hadoop中副本在不同節點之間的複製需要消耗資源,為了充分發揮hadoop的效能,hadoop需要配置機架感知,這可以讓hadoop通過網路拓撲圖計算不同節點之間的距離,因此來減少資料傳輸消耗的資源。通過hadoop官網我們知道,不配置機架感知,所有的都預設為 default rack,可以通過命...
hadoop集群配置機架感知
自己搭建的hadoop集群一般預設不具備機架感知能力,為了提高hadoop集群的網路效能,我們常常需要配置機架感知。下面是以下步驟 一 修改配置檔案core site.xml,新增配置屬性 topology.script.file.name home r203 hadoop 0.20.2 racka...
hadoop 三 hdfs 機架感知
client 向 active nn 傳送寫請求時,nn為這些資料分配dn位址,hdfs檔案塊副本的放置對於系統整體的可靠性和效能有關鍵性影響。乙個簡單但非優化的副本放置策略是,把副 本分別放在不同機架,甚至不同idc,這樣可以防止整個機架 甚至整個idc崩潰帶來的錯誤,但是這樣檔案寫必須在多個機架...