Hadoop入門(mén)四(3.2.2版本)

一.hdfs命令

hdfs dfs -linux命令造虏,操作是一樣的

su - hadoop001

①which hadoop? ? ?②which hdfs

? ? hadoop 回車(chē)? ? ? ? ? ?hdfs 回車(chē)

hadoop與hdfs對(duì)比

對(duì)比hadoop命令和hdfs命令柱徙,發(fā)現(xiàn)有些不一樣。

hadoop fs 等價(jià)于 hdfs dfs命令

(一).hadoop命令

1. 查看當(dāng)前版本 壓縮情況

hadoop checknative? #查看當(dāng)前版本壓縮情況

當(dāng)前版本壓縮情況

2021-12-13 22:48:33,578 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native

2021-12-13 22:48:33,583 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library

2021-12-13 22:48:33,590 WARN zstd.ZStandardCompressor: Error loading zstandard native libraries: java.lang.InternalError: Cannot load libzstd.so.1 (libzstd.so.1: cannot open shared object file: No such file or directory)!

2021-12-13 22:48:33,598 WARN erasurecode.ErasureCodeNative: ISA-L support is not available in your platform... using builtin-java codec where applicable

2021-12-13 22:48:33,796 INFO nativeio.NativeIO: The native code was built without PMDK support.

Native library checking:

hadoop:? true /home/hadoop001/app/hadoop-3.2.2/lib/native/libhadoop.so.1.0.0

zlib:? ? true /lib64/libz.so.1

zstd? :? false

snappy:? true /lib64/libsnappy.so.1

lz4:? ? true revision:10301

bzip2:? true /lib64/libbz2.so.1

openssl: false Cannot load libcrypto.so (libcrypto.so: cannot open shared object file: No such file or directory)!

ISA-L:? false libhadoop was built without ISA-L support

PMDK:? ? false The native code was built without PMDK support.

【說(shuō)明】如果壓縮是false应闯,一般需要自己編譯,支持壓縮挂捻;如果使用CDH系列的碉纺,不用擔(dān)心。

【注意】壓縮的版本:snappy

2. hadoop classpath

hadoop classpath? #打印當(dāng)前類的路徑

當(dāng)前類的路徑

/home/hadoop001/app/hadoop/etc/hadoop:/home/hadoop001/app/hadoop/share/hadoop/common/lib/*:/home/hadoop001/app/hadoop/share/hadoop/common/*:/home/hadoop001/app/hadoop/share/hadoop/hdfs:/home/hadoop001/app/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop001/app/hadoop/share/hadoop/hdfs/*:/home/hadoop001/app/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop001/app/hadoop/share/hadoop/mapreduce/*:/home/hadoop001/app/hadoop/share/hadoop/yarn:/home/hadoop001/app/hadoop/share/hadoop/yarn/lib/*:/home/hadoop001/app/hadoop/share/hadoop/yarn/*

(二).hdfs命令

1.hdfs dfsadmin

hdfs dfsadmin??#(管理員的命令)

hdfs dfsadmin相關(guān)命令

比如:hdfs dfsadmin -report? #報(bào)告當(dāng)前集群的情況

當(dāng)前集群的情況

2. 安全模式

hdfs dfsadmin? [-safemode <enter | leave | get | wait>]?

安全模式關(guān)閉 : 讀寫(xiě)正常

【問(wèn)題】安全模式打開(kāi)時(shí)刻撒,能進(jìn)行讀寫(xiě)操作嗎骨田?

答:只能讀不能寫(xiě)

驗(yàn)證:

hdfs dfsadmin -safemode enter #進(jìn)入安全模式

hdfs dfs -put 1.log /tmp

hdfs dfs -cat /tmp/1.log

安全模式打開(kāi)與關(guān)閉對(duì)比

由此可以看出,安全模式打開(kāi)的情況下声怔,只能讀不能寫(xiě)态贤。

生產(chǎn)上,如果通過(guò)log 查看到 safemode: on醋火,必然集群是有問(wèn)題的悠汽,這個(gè)時(shí)候可以手動(dòng)從安全模式離開(kāi),然后就能正常對(duì)外提供服務(wù)芥驳,具體命令如下:

hdfs dfsadmin -safemode leave? ?#離開(kāi)安全模式

做集群維護(hù)的時(shí)候介粘,目標(biāo)是不要有數(shù)據(jù)寫(xiě)入,那進(jìn)入安全模式晚树。另外在生產(chǎn)上如果block塊丟失過(guò)多姻采,會(huì)自動(dòng)進(jìn)入安全模式。

2.檢查

hdfs fsck? #對(duì)dfs做系統(tǒng)檢查

hdfs fsck相關(guān)命令

比如顯示:Target Replicas is 3 but found 1-2 live replica(s)? 說(shuō)明丟失1-2副本。

3.集群平衡

3.1 DN1 DN2-節(jié)點(diǎn)與節(jié)點(diǎn)之間的平衡

用cat start-balancer.sh 和cat stop-balancer.sh查看腳本

balancer? ? ? ? ? ? run a cluster balancing utility

hdfs balancer -policy datanode -threshold 10

threshold = 10.0

這里的10代表每個(gè)節(jié)點(diǎn)磁盤(pán)使用率減去平均磁盤(pán)使用率最后的結(jié)果小于10%

假如

DN1 磁盤(pán)占用了 90%慨亲; -76% = 14%? 多了4%

DN2?磁盤(pán)占用了80%婚瓜; -76% = 4%? ? 滿足

DN3?磁盤(pán)占用了?60%?

平均磁盤(pán)使用率為:76% ,對(duì)于:

DN1 90% -76% = 14%? 多了4%

DN2? 80% -76% = 4%? ? 滿足

DN3? 60% -76% = -16%? 少了 -16%

其中DN1多了4%刑棵;DN2滿足小于10%的條件巴刻;DN3少了16%,然后會(huì)根據(jù)它自己的算法去均衡磁盤(pán)蛉签,均衡到閾值10%以下胡陪。一般這里面有一個(gè)shell腳本,【建議】生產(chǎn)上碍舍,每天晚上業(yè)務(wù)低谷時(shí)期柠座,定時(shí)執(zhí)行該腳本去均衡磁盤(pán)。

3.2 DN1內(nèi)部 /data01(1T)? /data02(2T)-單個(gè)節(jié)點(diǎn)多盤(pán)的平衡

【注意】2.x版本沒(méi)有這個(gè)功能

diskbalancer? ? ? ? Distributes data evenly among disks on a given node

默認(rèn)參數(shù)設(shè)置:dfs.disk.balancer.enabled? : true? 【注意】2.x版本這里的默認(rèn)參數(shù)是false

hdfs diskbalancer --help? #命令幫助片橡,事半功倍!!!

hdfs diskbalancer相關(guān)命令(query查詢)

多看看官方文檔:Hadoop – Apache Hadoop 3.3.1

執(zhí)行命令: 先生成計(jì)劃? 再執(zhí)行

hdfs diskbalancer -plan ruozedata001? #生成計(jì)劃

hdfs diskbalancer -execute ruozedata001.plan.json? #執(zhí)行計(jì)劃

4.回收站

【問(wèn)題】Linux 有回收站妈经?

答:沒(méi)有,但是非要做捧书,怎么辦吹泡?

參考網(wǎng)站:Linux刪除文件實(shí)現(xiàn)回收站功能 - 方面盤(pán) - 博客園 (cnblogs.com)

hdfs是有回收站的

驗(yàn)證:

cd ~/data/input

hdfs dfs -put 1.log /

hdfs dfs -rm /1.log

沒(méi)有配置,直接刪除

配置回收站:

cd ~/app/hadoop/etc/hadoop

vi core-site.xml? 進(jìn)入之后经瓷,新增配置:

? <property>

? ? ? ? ? ?<name>fs.trash.interval</name>

? ? ? ? ? ?<value>10080</value>? ?#保留塊的時(shí)間爆哑,單位:min

? </property>

配置回收站

配置結(jié)束后,重新啟動(dòng):

cd ~/app/hadoop

sbin/stop-dfs.sh

sbin/start-dfs.sh

【注意】重啟之后可能又會(huì)自動(dòng)進(jìn)入到安全模式舆吮,可以通過(guò)log日志查看

ll ~/app/hadoop/logs

tail -200f xxx.log

顯示:The report.....

原因:塊丟失

hdfs fsck /? #查看塊丟失詳情

hdfs dfsadmin -safemode leave? ?#離開(kāi)安全模式

?驗(yàn)證:

hdfs dfs -put 1.log /

hdfs dfs -rm /1.log

此時(shí)刪除把文件Moved到了回收站

hdfs dfs -ls hdfs://comerdata001:9000/user/hadoop001/.Trash/Current/1.log

hdfs dfs -cat? hdfs://comerdata001:9000/user/hadoop001/.Trash/Current/1.log

查看回收站內(nèi)容

生產(chǎn)上一定要配置回收站喲!!!

二.mapreduce?計(jì)算框架

map? ? 映射: 是指一組數(shù)據(jù)按照一定的規(guī)則映射成一組

select id+10 as id ,name from t;

reduce? 規(guī)約:? 匯總

select name,sum(id) from

(select id+10 as id,name from t

) group by name;

例SQL:

id 1 2 3 4

name? a b c d

【huffle 洗牌】: 數(shù)據(jù)按照key(group by后面的數(shù)據(jù))進(jìn)行網(wǎng)絡(luò)傳輸規(guī)整到一起泪漂,按照計(jì)算規(guī)則計(jì)算。

三.mapreduce on yarn架構(gòu)設(shè)計(jì)【面試題】

1. container 容器 虛擬化概念

container 容器 虛擬化概念是一定的內(nèi)存和CPU的資源組合歪泳。

【問(wèn)題】container容器是有幾組參數(shù)進(jìn)行CPU和內(nèi)存配置。

2.主從架構(gòu)

resourcemanager? rm

nodemanager? ? ? nm

【經(jīng)典面試題】生產(chǎn)上的reduce task任務(wù)可能等到所有的map task跑完露筒,才開(kāi)始計(jì)算呐伞;

也有可能map task才跑60%,就開(kāi)始計(jì)算慎式。 主要看計(jì)算邏輯的嵌套伶氢。

3.mapreduce on yarn架構(gòu)圖(一主兩從)

mapreduce on yarn架構(gòu)圖(一主兩從)

【面試題】mapreduce on yarn架構(gòu)流程:

①client向rm提交應(yīng)用程序(作業(yè)),其中包含application master和啟動(dòng)命令等瘪吏。

②applications manager會(huì)給這個(gè)作業(yè)癣防,分配第一個(gè)container容器,來(lái)運(yùn)行applicationmaster掌眠。

③application master就向applications manager注冊(cè)蕾盯,就可以在web界面查看作業(yè)的運(yùn)行狀態(tài)。

④application master采取輪詢的方式通過(guò)【RPC】協(xié)議向resource scheduler去申請(qǐng)和領(lǐng)取資源

(哪臺(tái)DN機(jī)器蓝丙,領(lǐng)取多少內(nèi)存 CPU)

⑤一旦application master拿到資源列表级遭,就和對(duì)應(yīng)的DN機(jī)器進(jìn)行通信望拖,要求啟動(dòng)container來(lái)運(yùn)行task任務(wù)。

⑥nm為task任務(wù)設(shè)置好運(yùn)行的環(huán)境(container容器)挫鸽,將任務(wù)啟動(dòng)命令寫(xiě)在腳本里说敏,通過(guò)腳本啟動(dòng)task。

⑦然后各個(gè)task任務(wù)丢郊,通過(guò)【rpc】協(xié)議向application master主程序匯報(bào)進(jìn)度和狀態(tài)盔沫,以此可以隨時(shí)掌握task的運(yùn)行狀態(tài)。

當(dāng)task任務(wù)運(yùn)行失敗枫匾,也會(huì)重啟container任務(wù)架诞。

⑧當(dāng)所有的任務(wù)完成,application master向applications manager申請(qǐng)注銷(xiāo)和關(guān)閉作業(yè)婿牍。

這個(gè)時(shí)候在web可以看任務(wù)是否完成侈贷,成功還是失敗。

總結(jié):

啟動(dòng)主程序等脂,領(lǐng)取資源俏蛮;①-④

運(yùn)行任務(wù),直到完成上遥;? ⑤-⑧

已同步至:Hadoop入門(mén)四(3.2.2版本)_comer_liu的博客-CSDN博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搏屑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子粉楚,更是在濱河造成了極大的恐慌辣恋,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件模软,死亡現(xiàn)場(chǎng)離奇詭異伟骨,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)燃异,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)携狭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人回俐,你說(shuō)我怎么就攤上這事逛腿。” “怎么了仅颇?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵单默,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我忘瓦,道長(zhǎng)搁廓,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮枚抵,結(jié)果婚禮上线欲,老公的妹妹穿的比我還像新娘。我一直安慰自己汽摹,他們只是感情好李丰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著逼泣,像睡著了一般趴泌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拉庶,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天嗜憔,我揣著相機(jī)與錄音,去河邊找鬼氏仗。 笑死吉捶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的皆尔。 我是一名探鬼主播呐舔,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼慷蠕!你這毒婦竟也來(lái)了珊拼?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤流炕,失蹤者是張志新(化名)和其女友劉穎澎现,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體每辟,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剑辫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了渠欺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妹蔽。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖峻堰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盅视,我是刑警寧澤捐名,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站闹击,受9級(jí)特大地震影響镶蹋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一贺归、第九天 我趴在偏房一處隱蔽的房頂上張望淆两。 院中可真熱鬧,春花似錦拂酣、人聲如沸秋冰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)剑勾。三九已至,卻和暖如春赵颅,著一層夾襖步出監(jiān)牢的瞬間虽另,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工饺谬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捂刺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓募寨,卻偏偏與公主長(zhǎng)得像族展,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子绪商,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容