Hadoop 機架感知

2021-09-11 05:27:41 字數 1208 閱讀 2946

hadoop中副本在不同節點之間的複製需要消耗資源,為了充分發揮hadoop的效能,hadoop需要配置機架感知,這可以讓hadoop通過網路拓撲圖計算不同節點之間的距離,因此來減少資料傳輸消耗的資源。

通過hadoop官網我們知道,不配置機架感知,所有的都預設為/default-rack,可以通過命令hadoop dfsamin -printtopology來檢視hadoop的網路拓撲情況。

配置hadoop機架感知需要在core-site.xml中配置

topology.script.file.name

/home/***/topology.sh

topology.sh指令碼根據輸入的引數進行判斷,引數一般是主機名或者ip位址,判斷出它對應的機架號,

hosts為各個節點的資訊

topology.sh指令碼如下:

#! /bin/sh

file=/home/enche/software/hadoop-2.7.7/etc/hadoop/hosts

exec < $file

while [ $# -gt 0 ];do

result=""

arg=$1

while read line;do

arr=($)

if [ "$" = "$arg" ]||[ "$" = "$arg" ];then

result="$"

fidone

shift

if [ -z "$" ];then

echo -n "/default-rack"

else

echo -n "$result"

fidone

host文字資訊如下:

enche01 192.168.3.5 /dc1/rack1

enche02 192.168.3.6 /dc1/rack1

enche03 192.168.3.11 /dc1/rack2

enche04 192.168.3.100 /dc1/rack2

解釋:enchexx表示主機名   ***.***.***.***表示對應的ip      /***/*** 表示對應的機架號

配置好後重啟集群,使用 hadoop dfsadmin -printtopoloty檢視hadoop節點對應的機架資訊

hadoop機架感知

在hadoop集群資料儲存多副本前提下,訪問hadoop hdfs集群時,訪問速度直接受到datanode選取策略的影響。可以通過自定義hadoop集群的網路拓撲結構,最大程度的發揮hadoop集群的效能。某生產環境採用hadoop集群部署,其中兩台資料節點在idc機房,一台資料節點在阿里雲。預設情...

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崩潰帶來的錯誤,但是這樣檔案寫必須在多個機架...