Hadoop命令參數說明

來源:互聯網
上載者:User

標籤:des   http   java   使用   strong   os   

namenode(hdfs)+jobtracker(mapreduce)可以放在一台機器上,datanode+tasktracker可以在一台機器上,輔助namenode要單獨放一台機器,jobtracker通常情況下分區跟datanode一樣(目錄最好分布在不同的磁碟上,一個目錄對應一個磁碟),namenode儲存目錄需要格式化,datanode儲存目錄不需要格式化,啟動時自動建立
同一個datanode上的每個磁碟上的塊不會重複,不同datanode之間的塊才可能重複

一些檔案的說明:

1、dfs.hosts 記錄即將作為datanode加入叢集的機器列表
2、mapred.hosts 記錄即將作為tasktracker加入叢集的機器列表
3、dfs.hosts.exclude mapred.hosts.exclude 分別包含待移除的機器列表
4、master 記錄運行輔助namenode的機器列表
5、slave 記錄運行datanode和tasktracker的機器列表
6、hadoop-env.sh 記錄指令碼要用的環境變數,以運行hadoop
7、core-site.xml hadoop core的配置項,例如hdfs和mapreduce常用的i/o設定等
8、hdfs-site.xml hadoop守護進程的配置項,包括namenode、輔助namenode和datanode等
9、mapred-site.xml mapreduce守護進程的配置項,包括jobtracker和tasktracker
10、hadoop-metrics.properties 控制metrics在hadoop上如何發布的屬性
11、log4j.properties 系統記錄檔、namenode審計日誌、tasktracker子進程的任務日誌的屬性

一、hdfs守護進程的關鍵屬性

1、fs.default.name 類型:uri 預設值:file:/// 說明:預設檔案系統,uri定義主機名稱和namenode的rpc伺服器工作的連接埠號碼,預設是8020,在core-site.xml中配置
2、dfs.name.dir 類型:以逗號分隔的目錄名稱 預設值:${hadoop.tmp.dir}/dfs/name 說明:namenode儲存永久性的中繼資料的目錄列表,namenode在列表上的各個目錄中均存放相同的中繼資料檔案
3、dfs.data.dir 類型:以逗號分隔的目錄名稱 預設值:${hadoop.tmp.dir}/dfs/data 說明:datanode存放資料區塊的目錄列表,各個資料區塊分別存於某個目錄中
4、fs.checkpoint.dir 類型:以逗號分隔的目錄名稱 預設值:${hadoop.tmp.dir}/dfs/namesecondary 說明:輔助namenode存放檢查點的目錄列表,在所列的各個目錄中分別存放一份檢查點檔案副本

二、mapreduce守護進程關鍵屬性

1、mapred.job.tracker 類型:主機名稱和連接埠 預設值:local 說明:jobtracker的rpc伺服器所在的主機名稱和連接埠號碼,如果設為預設值local,則運行一個mapreduce作業時,jobtracker即時以處理時模式運行(換言之,使用者無需啟動jobtracker;實際上試圖在該模式下啟動jobtracker會引發錯誤)
2、mapred.local.dir 類型:逗號分割的目錄名稱 預設值:${hadoop.tmp.dir}/mapred/local 說明:儲存作業中間資料的一個目錄列表,作業終止時,資料被清除
3、mapred.system.dir 類型:uri 預設值:${hadoop.tmp.dir}/mapred/system 說明:在作業運行期間儲存共用檔案的目錄,相對於fs.default.name
4、mapred.tasktracker.map.tasks.maximum 類型:int 預設值:2 說明:在任一時刻,運行在tasktracker之上的map任務的最大數
5、mapred.tasktracker.reduce.tasks.maximum 類型:int 預設值:2 說明:在任一時刻,運行在tasktracker之上的reduce任務的最大數
6、mapred.child.java.opts 類型:string 預設值:-xmx200m 說明:jvm選項,用於啟動運行map和reduce任務的tasktracker子進程,該屬性可以針對每個作業進行設定,例如,可以設定jvm的屬性,以支援調試
7、mapred.child.ulimit 限制由tasktracker發起的子進程的最大虛擬記憶體(單位KB),該值設定一定要大於6設定項的值

三、rpc伺服器屬性

1、dfs.datanode.ipc.address 預設值:0.0.0.0:50020 說明:datanode的rpc伺服器的地址和連接埠
2、mapred.job.tracker 預設值:local 說明:被設為主機名稱和連接埠號碼時,該屬性指定jobtracker的rpc伺服器位址和連接埠,常用的連接埠號碼時8021
3、mapred.task.tracker.report.address 預設值:127.0.0.1:0 說明:tasktracker的rpc伺服器位址和連接埠號碼,tasktracker的子jvm利用它和tasktracker通訊,在本例中,可以使用任一空閑連接埠,因為伺服器僅對會送地址隱藏,如果本機器沒有會送地址,則需變更預設設定
datanode也運行tcp/ip伺服器以支援塊傳輸,預設由dfs.datanode.address設定,預設值是0.0.0.0:50010

四、http伺服器屬性

1、mapred.job.tracker.http.address 預設值:0.0.0.0:50030 說明:jobtracker的http伺服器位址和連接埠
2、mapred.task.tracker.http.address 預設值:0.0.0.0:50060 說明:tasktracker的http伺服器位址和連接埠
3、dfs.http.address 預設值:0.0.0.0:50070 說明:namenode的http伺服器位址和連接埠
4、dfs.datanode.http.address 預設值:0.0.0.0:50075 說明:datanode的http伺服器位址和連接埠
5、dfs.secondary.http.address預設值:0.0.0.0:50090 說明:輔助namenode的http伺服器位址和連接埠
可以選擇某一個網路介面作為各個datanode和tasktracker的ip地址(針對http和rpc伺服器)。相關屬性項包括dfs.datanode.dns.interface和mapred.tasktracker.dns.interface,預設值都是default


五、安全模式屬性說明
1、dfs.replication.min 類型:int 預設值:1 說明:設定最小副本層級,成功執行寫操作所需要建立的最少副本數目(也就是最小複本層級)
2、dfs.safemode.threshold.pct 類型:float 預設值:0.999 說明:在namenode退出安全模式之前,系統中滿足最小複本層級(由上一個選項定義)的塊的比例,將這項值設為0或更小的比例會令namenode無法啟動安全模式,設為高於1則永遠不會退出安全模式
3、dfs.safemode.extension 類型:int 預設值:30000 說明:在最小複本條件(由上一個選項定義)滿足之後,namenode還需要處於安全模式的時間(以毫秒為單位),對於小型叢集(十幾個節點),這項值可以設為0

 
core-site.xml個別設定說明:

1、io.file.buffer.size 設定緩衝區大小,預設4kb(64kb 128kb)
2、fs.trash.interval 設定資源回收筒中的檔案保留多久後刪除,以分鐘為單位,預設值是0,表示回收特性無效。該回收功能是使用者級特性,啟用後,每個使用者都有自己獨立的資源回收筒目錄,即home目錄下的.trash目錄,恢複時只要從該目錄找到被刪除的檔案,將其移除就可以了。hdfs會自動刪除資源回收筒中的檔案,其它檔案系統不具備這個功能,需要使用下列命令自行刪除 hadoop fs -expunge

hdfs-site.xml個別設定說明:

1、dfs.block.size 設定hdfs塊大小,預設64mb (128mb 256mb)
2、dfs.balance.bandwidthPerSec 設定均衡器在不同節點之間複製資料的頻寬

dfs.datanode.du.reserved 設定保留空間的大小,以供其它程式使用,以位元組為單位
fs.checkpoint.period 設定輔助namenode每隔多久建立檢查點,以秒為單位
fs.checkpoint.size 設定當編輯日誌(edits)大大小達到多少mb時,建立檢查點,系統每5分鐘檢查一次編輯日誌大小
dfs.datanode.numblocks 設定datanode一個目錄存放多少個塊時,就重新建立一個子目錄
dfs.datanode.scan.period.hours 設定datanode塊掃描的周期,預設三周(504小時)掃描一次

 
hadoop命令:

1、hadoop fs -mkdir /user/username 建立使用者
2、hadoop fs -chown user:user /user/username 設定許可權
3、hadoop dfsadmin -setSpaceQuota 1t /user/username 限制空間容量
4、hadoop dfsadmin -saveNamespace 建立檢查點,將記憶體中的檔案熊映射儲存為一個新的fsimage檔案,重設edits檔案,該操作僅在安全模式下執行
5、hadoop dfsadmin -safemode get 查看namenode是否處於安全模式
6、hadoop dfsadmin -safemode wait 在指令碼中執行某條命令前namenode先退出安全模式
7、hadoop dfsadmin -safemode enter 進入安全模式
8、hadoop dfsadmin -safemode leave 離開安全模式
9、hadoop dfsadmin -report 顯示檔案系統的統計資訊,以及所串連的各個datanode的資訊
10、hadoop dfsadmin -metasave 將某些資訊儲存到hadoop日誌目錄中的一個檔案中,包括正在被複製或刪除的塊資訊,以及已串連的datanode列表
11、hadoop dfsadmin -refreshNodes 更新允許串連到namenode的datanode列表
12、hadoop dfsadmin -upgradeProgress 擷取有關hdfs升級的進度資訊或強制升級
13、hadoop dfsadmin -finalizeUpgrade 移除datanode和namenode的儲存目錄上的舊版資料
14、hadoop dfsadmin -setQuota 設定目錄中包含的檔案和子目錄的個數的配額
15、hadoop dfsadmin -clrQuota 清理指定目錄的檔案和子目錄個數的配額
16、hadoop dfsadmin -clrSpaceQuota 清理指定的空間大小配額
17、hadoop dfsadmin -refreshServiceAcl 重新整理namenode的服務級授權策略檔案
18、hadoop fsck / 檢查hdfs中檔案的健康情況,該工具會尋找那些所有datanode中均缺失的塊以及過少或過多複本的塊
19、hadoop fsck /user/tom/part-007 -files -blocks -racks files選項顯示檔案名稱,大小,塊數量,健康情況;block選項描述檔案中各個塊的資訊,每個塊一行;racks選項顯示各個塊的機架位置和datanode的地址
使Datanode節點datanodename退役     bin/hadoop dfsadmin -decommission datanodename

解決主nemenode重啟較慢的方法:(使用 -importCheckpoint選項啟動輔助namenode,可將輔助namenode用作新的主namenode)

1、輔助namenode請求主namenode停止使用edits(記錄動作記錄的檔案)檔案。暫時將新記錄寫操作記錄到一個新檔案中
2、輔助namenode從主namenode擷取fsimage(中繼資料永久檢查點檔案)和edits檔案(採用http get)
3、輔助namenode將fsimage檔案載入記憶體,逐一執行edits檔案中的操作,建立新的fsimage檔案
4、輔助namenode將新的fsimage檔案發送回主namenode(使用http post)
5、主namenode用從輔助namenode接收的fsimage檔案替換舊的fsimage檔案,用步驟一所產生的edits檔案替換舊的edits檔案,同時,還更新fstime檔案來記錄檢查點執行的時間

 
均衡器程式:
start-balancer.sh -threshold 參數指定閥值(百分比格式),預設值是10%,任何時刻,叢集中都只能運行一個均衡器,均衡器在不同節點之間複製資料是有頻寬節流設定的,預設值是1mb/s

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.