

然后我們再來看,hadoop的安全模式,我們操作一下,上面的命令對應了相應的功能


?
我們先執(zhí)行
/opt/module/hadoop-2.7.2/bin/hdfs dfsadmin -safemode get
可以看到,查詢到當前的,安全模式是關閉的
safe mode is off


?
然后我們去web端看看,safemode 也是off了.


?
然后我們再去打開
/opt/module/hadoop-2.7.2/bin/hdfs dfsadmin -safemode enter
可以看到safe mode is on打開了


?
然后我們去web端去看看,可以看到
安全模式打開了


?
然后我們再去在安全模式打開的情況下,我們嘗試去上傳個文件
bin/hdfs dfs -put zaiyiqi.txt / 我們上傳到hdfs的根目錄去.


?
我們上次之前先去web端去看看,根目錄在我們上傳之前沒有這個文件


?
然后我們執(zhí)行,報錯了,提示說,namenode 在安全模式的時候不能上傳.對吧.


?
然后我們再去
bin/hdfs dfsadmin -safemode leave 我們關閉安全模式


?
然后我們再去上傳試試
bin/hdfs dfs -put zaiyiqi.txt /


?
去看看可以看到,如果把安全模式關閉了,就可以上傳成功了,也說明了,如果在安全模式的時候,是不允許操作數(shù)據的.


?
然后我們再去看一個命令,這個
bin/hdfs dfsadmin -safemode wait 這個是等待安全模式的狀態(tài)
其實這個安全模式就有點類似,金融行業(yè)中的對賬操作.
比如每天晚上凌晨0點到1點,銀行對賬,這個過程中,不允許取錢存錢業(yè)務,一旦對賬完了,就可以進行存錢取錢業(yè)務了.


?


?
好,首先我們去
bin/hdfs dfsadmin -safemode enter 打開安全模式


?
然后我們再去先去創(chuàng)建一個腳本
touch safemode.sh
vim safemode.sh


?
然后把內容寫上
可以看到第一句是
hdfs dfsadmin -safemode wait 進入安全模式等待模式,這個時候,當我們執(zhí)行命令的時候,這個命令會阻塞,一旦安全模式退出了這個命令就會立馬執(zhí)行.
hdfs dfs -put /opt/module/hadoop-2.7.2/README.txt / 這一句是上傳README.txt文件到hdfs的根目錄,但是他會阻塞到,安全模式退出,才會上傳成功.


?
然后我們執(zhí)行這個腳本
bash safemode.sh 可以看到一執(zhí)行,就卡住了,阻塞了,因為現(xiàn)在是安全模式


?
然后我們去關閉安全模式
bin/hdfs dfsadmin -safemode leave
可以看到關閉了安全模式


?
然后我們再回到原來的執(zhí)行腳本的窗口看看
bash safemode.sh 腳本已經執(zhí)行成功了


?
然后我們去后臺看看,
README.txt 也已經上傳成功了.
所以有些任務,我們可以加上,進入安全模式等待模式的命令,這樣一旦安全模式結束,就會執(zhí)行我們的命令了.
?