溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Hadoop的常用命令以及安全模式屬性說明

發(fā)布時(shí)間:2021-09-07 09:09:57 來源:億速云 閱讀:156 作者:chen 欄目:云計(jì)算

這篇文章主要講解了“Hadoop的常用命令以及安全模式屬性說明”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Hadoop的常用命令以及安全模式屬性說明”吧!

namenode(hdfs)+jobtracker(mapreduce)可以放在一臺(tái)機(jī)器上,datanode+tasktracker可以在一臺(tái)機(jī)器上,輔助namenode要單獨(dú)放一臺(tái)機(jī)器,jobtracker通常情況下分區(qū)跟datanode一樣(目錄最好分布在不同的磁盤上,一個(gè)目錄對(duì)應(yīng)一個(gè)磁盤),namenode存儲(chǔ)目錄需要格式化,datanode存儲(chǔ)目錄不需要格式化,啟動(dòng)時(shí)自動(dòng)創(chuàng)建
同一個(gè)datanode上的每個(gè)磁盤上的塊不會(huì)重復(fù),不同datanode之間的塊才可能重復(fù)

一些文件的說明:

1、dfs.hosts 記錄即將作為datanode加入集群的機(jī)器列表
2、mapred.hosts 記錄即將作為tasktracker加入集群的機(jī)器列表
3、dfs.hosts.exclude mapred.hosts.exclude 分別包含待移除的機(jī)器列表
4、master 記錄運(yùn)行輔助namenode的機(jī)器列表
5、slave 記錄運(yùn)行datanode和tasktracker的機(jī)器列表
6、hadoop-env.sh 記錄腳本要用的環(huán)境變量,以運(yùn)行hadoop
7、core-site.xml hadoop core的配置項(xiàng),例如hdfs和mapreduce常用的i/o設(shè)置等
8、hdfs-site.xml hadoop守護(hù)進(jìn)程的配置項(xiàng),包括namenode、輔助namenode和datanode等
9、mapred-site.xml mapreduce守護(hù)進(jìn)程的配置項(xiàng),包括jobtracker和tasktracker
10、hadoop-metrics.properties 控制metrics在hadoop上如何發(fā)布的屬性
11、log4j.properties 系統(tǒng)日志文件、namenode審計(jì)日志、tasktracker子進(jìn)程的任務(wù)日志的屬性

一、hdfs守護(hù)進(jìn)程的關(guān)鍵屬性

1、fs.default.name 類型:uri 默認(rèn)值:file:/// 說明:默認(rèn)文件系統(tǒng),uri定義主機(jī)名稱和namenode的rpc服務(wù)器工作的端口號(hào),默認(rèn)是8020,在core-site.xml中配置
2、dfs.name.dir 類型:以逗號(hào)分隔的目錄名稱 默認(rèn)值:${hadoop.tmp.dir}/dfs/name 說明:namenode存儲(chǔ)永久性的元數(shù)據(jù)的目錄列表,namenode在列表上的各個(gè)目錄中均存放相同的元數(shù)據(jù)文件
3、dfs.data.dir 類型:以逗號(hào)分隔的目錄名稱 默認(rèn)值:${hadoop.tmp.dir}/dfs/data 說明:datanode存放數(shù)據(jù)塊的目錄列表,各個(gè)數(shù)據(jù)塊分別存于某個(gè)目錄中
4、fs.checkpoint.dir 類型:以逗號(hào)分隔的目錄名稱 默認(rèn)值:${hadoop.tmp.dir}/dfs/namesecondary 說明:輔助namenode存放檢查點(diǎn)的目錄列表,在所列的各個(gè)目錄中分別存放一份檢查點(diǎn)文件副本

二、mapreduce守護(hù)進(jìn)程關(guān)鍵屬性

1、mapred.job.tracker 類型:主機(jī)名和端口 默認(rèn)值:local 說明:jobtracker的rpc服務(wù)器所在的主機(jī)名稱和端口號(hào),如果設(shè)為默認(rèn)值local,則運(yùn)行一個(gè)mapreduce作業(yè)時(shí),jobtracker即時(shí)以處理時(shí)模式運(yùn)行(換言之,用戶無需啟動(dòng)jobtracker;實(shí)際上試圖在該模式下啟動(dòng)jobtracker會(huì)引發(fā)錯(cuò)誤)
2、mapred.local.dir 類型:逗號(hào)分割的目錄名稱 默認(rèn)值:${hadoop.tmp.dir}/mapred/local 說明:存儲(chǔ)作業(yè)中間數(shù)據(jù)的一個(gè)目錄列表,作業(yè)終止時(shí),數(shù)據(jù)被清除
3、mapred.system.dir 類型:uri 默認(rèn)值:${hadoop.tmp.dir}/mapred/system 說明:在作業(yè)運(yùn)行期間存儲(chǔ)共享文件的目錄,相對(duì)于fs.default.name
4、mapred.tasktracker.map.tasks.maximum 類型:int 默認(rèn)值:2 說明:在任一時(shí)刻,運(yùn)行在tasktracker之上的map任務(wù)的最大數(shù)
5、mapred.tasktracker.reduce.tasks.maximum 類型:int 默認(rèn)值:2 說明:在任一時(shí)刻,運(yùn)行在tasktracker之上的reduce任務(wù)的最大數(shù)
6、mapred.child.java.opts 類型:string 默認(rèn)值:-xmx200m 說明:jvm選項(xiàng),用于啟動(dòng)運(yùn)行map和reduce任務(wù)的tasktracker子進(jìn)程,該屬性可以針對(duì)每個(gè)作業(yè)進(jìn)行設(shè)置,例如,可以設(shè)置jvm的屬性,以支持調(diào)試
7、mapred.child.ulimit 限制由tasktracker發(fā)起的子進(jìn)程的最大虛擬內(nèi)存(單位千字節(jié)),該值設(shè)置一定要大于6設(shè)置項(xiàng)的值

三、rpc服務(wù)器屬性

1、dfs.datanode.ipc.address 默認(rèn)值:0.0.0.0:50020 說明:datanode的rpc服務(wù)器的地址和端口
2、mapred.job.tracker 默認(rèn)值:local 說明:被設(shè)為主機(jī)名稱和端口號(hào)時(shí),該屬性指定jobtracker的rpc服務(wù)器地址和端口,常用的端口號(hào)時(shí)8021
3、mapred.task.tracker.report.address 默認(rèn)值:127.0.0.1:0 說明:tasktracker的rpc服務(wù)器地址和端口號(hào),tasktracker的子jvm利用它和tasktracker通信,在本例中,可以使用任一空閑端口,因?yàn)榉?wù)器僅對(duì)會(huì)送地址隱藏,如果本機(jī)器沒有會(huì)送地址,則需變更默認(rèn)設(shè)置
datanode也運(yùn)行tcp/ip服務(wù)器以支持塊傳輸,默認(rèn)由dfs.datanode.address設(shè)定,默認(rèn)值是0.0.0.0:50010

四、http服務(wù)器屬性

1、mapred.job.tracker.http.address 默認(rèn)值:0.0.0.0:50030 說明:jobtracker的http服務(wù)器地址和端口
2、mapred.task.tracker.http.address 默認(rèn)值:0.0.0.0:50060 說明:tasktracker的http服務(wù)器地址和端口
3、dfs.http.address 默認(rèn)值:0.0.0.0:50070 說明:namenode的http服務(wù)器地址和端口
4、dfs.datanode.http.address 默認(rèn)值:0.0.0.0:50075 說明:datanode的http服務(wù)器地址和端口
5、dfs.secondary.http.address默認(rèn)值:0.0.0.0:50090 說明:輔助namenode的http服務(wù)器地址和端口
可以選擇某一個(gè)網(wǎng)絡(luò)接口作為各個(gè)datanode和tasktracker的ip地址(針對(duì)http和rpc服務(wù)器)。相關(guān)屬性項(xiàng)包括dfs.datanode.dns.interface和mapred.tasktracker.dns.interface,默認(rèn)值都是default


五、安全模式屬性說明
1、dfs.replication.min 類型:int 默認(rèn)值:1 說明:設(shè)置最小副本級(jí)別,成功執(zhí)行寫操作所需要?jiǎng)?chuàng)建的最少副本數(shù)目(也就是最小復(fù)本級(jí)別)
2、dfs.safemode.threshold.pct 類型:float 默認(rèn)值:0.999 說明:在namenode退出安全模式之前,系統(tǒng)中滿足最小復(fù)本級(jí)別(由上一個(gè)選項(xiàng)定義)的塊的比例,將這項(xiàng)值設(shè)為0或更小的比例會(huì)令namenode無法啟動(dòng)安全模式,設(shè)為高于1則永遠(yuǎn)不會(huì)退出安全模式
3、dfs.safemode.extension 類型:int 默認(rèn)值:30000 說明:在最小復(fù)本條件(由上一個(gè)選項(xiàng)定義)滿足之后,namenode還需要處于安全模式的時(shí)間(以毫秒為單位),對(duì)于小型集群(十幾個(gè)節(jié)點(diǎn)),這項(xiàng)值可以設(shè)為0

 
core-site.xml個(gè)別設(shè)置說明:

1、io.file.buffer.size 設(shè)置緩沖區(qū)大小,默認(rèn)4kb(64kb 128kb)
2、fs.trash.interval 設(shè)置回收站中的文件保留多久后刪除,以分鐘為單位,默認(rèn)值是0,表示回收特性無效。該回收功能是用戶級(jí)特性,啟用后,每個(gè)用戶都有自己獨(dú)立的回收站目錄,即home目錄下的.trash目錄,恢復(fù)時(shí)只要從該目錄找到被刪除的文件,將其移除就可以了。hdfs會(huì)自動(dòng)刪除回收站中的文件,其它文件系統(tǒng)不具備這個(gè)功能,需要使用下列命令自行刪除 hadoop fs -expunge

hdfs-site.xml個(gè)別設(shè)置說明:

1、dfs.block.size 設(shè)置hdfs塊大小,默認(rèn)64mb (128mb 256mb)
2、dfs.balance.bandwidthPerSec 設(shè)置均衡器在不同節(jié)點(diǎn)之間復(fù)制數(shù)據(jù)的帶寬

dfs.datanode.du.reserved 設(shè)置保留空間的大小,以供其它程序使用,以字節(jié)為單位
fs.checkpoint.period 設(shè)置輔助namenode每隔多久創(chuàng)建檢查點(diǎn),以秒為單位
fs.checkpoint.size 設(shè)置當(dāng)編輯日志(edits)大大小達(dá)到多少mb時(shí),創(chuàng)建檢查點(diǎn),系統(tǒng)每5分鐘檢查一次編輯日志大小
dfs.datanode.numblocks 設(shè)置datanode一個(gè)目錄存放多少個(gè)塊時(shí),就重新創(chuàng)建一個(gè)子目錄
dfs.datanode.scan.period.hours 設(shè)置datanode塊掃描的周期,默認(rèn)三周(504小時(shí))掃描一次

 
hadoop命令:

1、hadoop fs -mkdir /user/username 創(chuàng)建用戶
2、hadoop fs -chown user:user /user/username 設(shè)置權(quán)限
3、hadoop dfsadmin -setSpaceQuota 1t /user/username 限制空間容量
4、hadoop dfsadmin -saveNamespace 創(chuàng)建檢查點(diǎn),將內(nèi)存中的文件熊映射保存為一個(gè)新的fsimage文件,重置edits文件,該操作僅在安全模式下執(zhí)行
5、hadoop dfsadmin -safemode get 查看namenode是否處于安全模式
6、hadoop dfsadmin -safemode wait 在腳本中執(zhí)行某條命令前namenode先退出安全模式
7、hadoop dfsadmin -safemode enter 進(jìn)入安全模式
8、hadoop dfsadmin -safemode leave 離開安全模式
9、hadoop dfsadmin -report 顯示文件系統(tǒng)的統(tǒng)計(jì)信息,以及所連接的各個(gè)datanode的信息
10、hadoop dfsadmin -metasave 將某些信息存儲(chǔ)到hadoop日志目錄中的一個(gè)文件中,包括正在被復(fù)制或刪除的塊信息,以及已連接的datanode列表
11、hadoop dfsadmin -refreshNodes 更新允許連接到namenode的datanode列表
12、hadoop dfsadmin -upgradeProgress 獲取有關(guān)hdfs升級(jí)的進(jìn)度信息或強(qiáng)制升級(jí)
13、hadoop dfsadmin -finalizeUpgrade 移除datanode和namenode的存儲(chǔ)目錄上的舊版數(shù)據(jù)
14、hadoop dfsadmin -setQuota 設(shè)置目錄中包含的文件和子目錄的個(gè)數(shù)的配額
15、hadoop dfsadmin -clrQuota 清理指定目錄的文件和子目錄個(gè)數(shù)的配額
16、hadoop dfsadmin -clrSpaceQuota 清理指定的空間大小配額
17、hadoop dfsadmin -refreshServiceAcl 刷新namenode的服務(wù)級(jí)授權(quán)策略文件
18、hadoop fsck / 檢查hdfs中文件的健康狀況,該工具會(huì)查找那些所有datanode中均缺失的塊以及過少或過多復(fù)本的塊
19、hadoop fsck /user/tom/part-007 -files -blocks -racks files選項(xiàng)顯示文件名稱,大小,塊數(shù)量,健康狀況;block選項(xiàng)描述文件中各個(gè)塊的信息,每個(gè)塊一行;racks選項(xiàng)顯示各個(gè)塊的機(jī)架位置和datanode的地址
使Datanode節(jié)點(diǎn)datanodename退役     bin/hadoop dfsadmin -decommission datanodename

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

1、輔助namenode請(qǐng)求主namenode停止使用edits(記錄操作日志的文件)文件。暫時(shí)將新記錄寫操作記錄到一個(gè)新文件中
2、輔助namenode從主namenode獲取fsimage(元數(shù)據(jù)永久檢查點(diǎn)文件)和edits文件(采用http get)
3、輔助namenode將fsimage文件載入內(nèi)存,逐一執(zhí)行edits文件中的操作,創(chuàng)建新的fsimage文件
4、輔助namenode將新的fsimage文件發(fā)送回主namenode(使用http post)
5、主namenode用從輔助namenode接收的fsimage文件替換舊的fsimage文件,用步驟一所產(chǎn)生的edits文件替換舊的edits文件,同時(shí),還更新fstime文件來記錄檢查點(diǎn)執(zhí)行的時(shí)間

 
均衡器程序:
start-balancer.sh -threshold 參數(shù)指定閥值(百分比格式),默認(rèn)值是10%,任何時(shí)刻,集群中都只能運(yùn)行一個(gè)均衡器,均衡器在不同節(jié)點(diǎn)之間復(fù)制數(shù)據(jù)是有帶寬限制的,默認(rèn)值是1mb/s

感謝各位的閱讀,以上就是“Hadoop的常用命令以及安全模式屬性說明”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Hadoop的常用命令以及安全模式屬性說明這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI