目錄
前言
一、HDFS集群啟停命令
1.一鍵啟停腳本可用
2.獨立進(jìn)程啟??捎?/p>
?二、文件系統(tǒng)操作命令
1、創(chuàng)建文件夾
2、查看指定目錄下內(nèi)容
3、上傳文件到HDFS指定目錄下?
4、查看HDFS文件內(nèi)容
5、下載HDFS文件
6、拷貝HDFS文件
7、追加數(shù)據(jù)到HDFS文件中
8、HDFS數(shù)據(jù)移動操作
9、HDFS數(shù)據(jù)刪除
!? HDFS WEB瀏覽
補(bǔ)充:修改權(quán)限
三、HDFS客戶端 - jetbrians產(chǎn)品插件
1.Big Data Tools插件
2、配置Windows
3、配置Big Data Tools插件
四、HDFS客戶端 - NFS
4.1使用NFS網(wǎng)關(guān)功能將HDFS掛載到本地系統(tǒng)
4.1.1、HDFS NFS Gateway
4.1.2、配置NFS
1.在core-site.xml內(nèi)新增如下兩項
2、在hdfs-site.xml中新增如下項
4.1.3、啟用NFS功能?
4.1.4、檢查NFS是否正常
4.1.5、在windows掛載HDFS文件系統(tǒng)
前言
Hadoop Distributed File System (HDFS) 是一個分布式文件系統(tǒng),用于存儲和處理大規(guī)模數(shù)據(jù)集。HDFS具有高可擴(kuò)展性、高容錯性和高吞吐量的特點,是Apache Hadoop框架的核心組件之一。
HDFS提供了一個命令行界面(Shell),用于管理和操作文件系統(tǒng)中的文件和目錄。使用HDFS的Shell,用戶可以執(zhí)行各種文件系統(tǒng)操作,如創(chuàng)建目錄、上傳文件、下載文件、刪除文件等。
HDFS的Shell操作類似于Linux的命令行操作,用戶可以使用一系列命令來完成各種操作。Shell命令包括一些基本的文件系統(tǒng)操作命令,如ls(列出文件和目錄)、mkdir(創(chuàng)建目錄)、put(上傳文件)、get(下載文件)、rm(刪除文件)等。此外,HDFS的Shell還提供了一些其他有用的命令,如chown(修改文件所有者)、chgrp(修改文件所屬組)、chmod(修改文件權(quán)限)等。
用戶可以通過在終端中輸入hdfs命令來啟動HDFS的Shell。在Shell中,用戶可以使用上述命令來管理和操作HDFS文件系統(tǒng)中的文件和目錄。通過簡單的命令,用戶可以輕松地完成HDFS文件系統(tǒng)的常見操作。
HDFS的Shell操作簡單方便,適用于對文件進(jìn)行基本的管理和操作。對于更復(fù)雜的操作,如數(shù)據(jù)分析和處理,用戶通常會使用其他工具,如Hadoop MapReduce或Spark等。但對于一些簡單的文件系統(tǒng)操作,HDFS的Shell是十分有用的。
一、HDFS集群啟停命令
1.一鍵啟停腳本可用
- $HADOOP_HOME/sbin/strat-dfs.sh
- $HADOOP_HOME/sbin/stop.sh
由于在前置設(shè)置中已經(jīng)配置好了環(huán)境,所以只需要執(zhí)行紅色代碼即可。
2.獨立進(jìn)程啟??捎?/h3>
- $HADOOP_HOME/sbin/hadoop-deamon.sh
- $HADOOP_HOME/sbin/hdfs? --daemon
![【Hadoop】-HDFS的Shell操作[3],hadoop,hadoop,hdfs,大數(shù)據(jù)](https://imgs.yssmx.com/Uploads/2024/04/858304-1.png)
?二、文件系統(tǒng)操作命令
![【Hadoop】-HDFS的Shell操作[3],hadoop,hadoop,hdfs,大數(shù)據(jù)](https://imgs.yssmx.com/Uploads/2024/04/858304-1.png)
![【Hadoop】-HDFS的Shell操作[3],hadoop,hadoop,hdfs,大數(shù)據(jù)](https://imgs.yssmx.com/Uploads/2024/04/858304-2.png)
關(guān)于HDFS文件系統(tǒng)的操作命令,Hadoop提供了2套命令體系
- hadoop命令(老版本用法),用法:hadoop? fs? [generic? options]
- hdfs命令(新版本用法),用法:hdfs? dfs? [generic options]
1、創(chuàng)建文件夾
- hadoop? fs? -mkdir? [-p]? <path> .......
- hdfs? dfs??-mkdir? [-p]? <path>......
path為待創(chuàng)建的目錄
-p選項的行為與Linux mkdir -p一致,它會沿著路徑創(chuàng)建父目錄
2、查看指定目錄下內(nèi)容
- hadoop? fs?-ls? [-h] [-R]? <path> .......
- hdfs? dfs? -ls? [-h]? [-R]? <path>......
-h人性化顯示文件size
-R遞歸查看指定目錄及其子目錄
可以查看到我們之前所創(chuàng)建的文件夾。
3、上傳文件到HDFS指定目錄下?
- hadoop? fs?-put? [-f] [-p]? <localsrc>??.......? <dst>
- hdfs? dfs?-put? [-f] [-p]? <localsrc>??.......? <dst>
-f? 覆蓋目標(biāo)文件(已存在下)
-p? 保留訪問和修改時間,所有權(quán)和權(quán)限
localsrc? 本地文件系統(tǒng)(客戶端所在機(jī)器)
dst? 目標(biāo)文件系統(tǒng)(HDFS)
4、查看HDFS文件內(nèi)容
讀取指定文件全部內(nèi)容,顯示在標(biāo)準(zhǔn)輸出控制臺。
- hadoop? fs? -cat? <src>? .......
- hdfs? dfs? -cat? <src>? .......
讀取大文件可以使用管道符配合more
- hadoop? fs? -cat? <src>? |? more
- hdfs? dfs? -cat? <src>? |? more
5、下載HDFS文件
下載文件到本地文件系統(tǒng)指定目錄,localdst必須是目錄
- hadoop? fs? -get? [-f]? [-p]? <src>? .......? <localdst>
- hdfs? dfs? -get? [-f]? [-p]? <src>? .......? <localdst>
-f? 覆蓋目標(biāo)文件(已存在下)
-p? 保留訪問和修改時間,所有權(quán)和權(quán)限
6、拷貝HDFS文件
- hadoop? fs? -cp? [-f]? <src>? .......? <dst>
- hdfs? dfs? -cp? [-f]? <src>? .......? <dst>
將文件test.txt復(fù)制到/home目錄下。
7、追加數(shù)據(jù)到HDFS文件中
- hadoop? fs? -appendToFile? <localsrc>? .......? <dst>
- hdfs? dfs? -appendToFile? <localsrc>? .......? <dst>
將所有給定本地文件的內(nèi)容追加到給定dst文件。
dst如果文件不存在,將創(chuàng)建該文件。
如果<localSrc>為-,則輸入為從標(biāo)準(zhǔn)輸入中讀取。
8、HDFS數(shù)據(jù)移動操作
- hadoop? fs? -mv? <src>? .......? <dst>
- hdfs? dfs? -mv? <src>? .......? <dst>
移動文件到指定文件夾下
可以使用該命令移動數(shù)據(jù),重命名文件的名稱。
9、HDFS數(shù)據(jù)刪除
- hadoop? fs? -rm? -r? [-skipTrash]? URI? [URI? ......]
- hdfs? dfs? -rm? -r? [-skipTrash]? URI? [URI? ......]
刪除指定路徑的文件或文件夾
-skipTrash? 跳過回收站,直接刪除。
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>120</value>
</property>
!? HDFS WEB瀏覽
除了使用命令操作HDFS文件系統(tǒng)外,在HDFS的WEB UI 上也可以查看到HDFS系統(tǒng)的內(nèi)容。
http://node1:9870
使用WEB瀏覽操作文件系統(tǒng),一般會遇到權(quán)限問題
這是因為WEB瀏覽器中是以用戶(dr,who)登錄的,其只有只讀權(quán)限,多數(shù)操作是做不了的。如果需要以特權(quán)用戶在瀏覽器中進(jìn)行操作,需要配置core-site.xml并重啟集群,但是,不推薦這樣做。
補(bǔ)充:修改權(quán)限
在HDFS中,可以使用和Linux一樣的授權(quán)語句,即chown和chmod
- 修改所屬用戶和組:
root:用戶? ? ? ? ? ? ? ? supergroup:組
hadoop? fs? -chown? [-R]? root:supergroup? /xxx.txt
hdfs? dfs? -chown? [-R]? root:root? /xxx.txt
- 修改權(quán)限:
hadoop? fs? -chown? [-R]? 777? /xxx.txt
hdfs? dfs? -chown? [-R]? 777? /xxx.txt
三、HDFS客戶端 - jetbrians產(chǎn)品插件
1.Big Data Tools插件
在jetbrains的產(chǎn)品中,均可以安裝插件,其中:Big Data Tools插件可以幫助我們方便的操作HDFS,比如:
- Intellij IDEA(java IDE)
- pyCharm(Python IDE)
- DataGrip(SQL IDE)
均可以支持Bigdata Tools插件
設(shè)置-> plugins(插件)-> Marketplace(市場),搜索Big Data Tools
2、配置Windows
需要對Windows系統(tǒng)做一些基礎(chǔ)設(shè)置,配合插件使用
- 解壓Hadoop安裝包到Windows系統(tǒng),如解壓到:D:\hadoop-3.0.0
- 設(shè)置$HADOOP-HOME環(huán)境變量指向:D:\hadoop-3.0.0
- 下載
- hadoop.dll(https://github.com/steveloughran/winutils/blob/master/hadoop-3.0.0/bin/hadoop.dll)
- winutils.exe(https://github.com/steveloughran/winutils/blob/master/hadoop-3.0.0/bin/winutils.exe)
- 將hadoop.dll和winutils.exe放入$HADOOP_HOME/bin中
?
3、配置Big Data Tools插件
打開插件
點擊??,連接成功,如果hdfs里沒有文件會在連接的時候一直轉(zhuǎn)圈圈,可以先在hdfs里創(chuàng)建一個文件。
可以從磁盤上傳文件到hdfs
如果上述方法連接不成功,可以使用以下方法。
需要在虛擬機(jī)上打包配置好的Hadoop配置文件,將Windows中hadoop配置環(huán)境中的/etc目錄下全部換成打包好的文件。
cd /export/server/hadoop/etc/hadoop
tar -zcvf etc.tar.gz *
sz etc.tar.gz
?
?此方法就是去找到配置好了的core-site.xml文件,將主機(jī)ip修改為要連接的ip即可,因為在前置配置中已經(jīng)在hosts文件上,配置好了主機(jī)映射,所以此處用node1代替。
四、HDFS客戶端 - NFS
4.1使用NFS網(wǎng)關(guān)功能將HDFS掛載到本地系統(tǒng)
4.1.1、HDFS NFS Gateway
HDFS提供了基于NFS(Network File System)的插件,可以對外提供NFS網(wǎng)關(guān),供其他系統(tǒng)掛載使用。NFS網(wǎng)關(guān)支持NFSv3,并允許將HDFS作為客戶機(jī)本地文件的一部分掛載,現(xiàn)在支持:
- 上傳、下載、刪除、追加內(nèi)容。
4.1.2、配置NFS
配置HDFS需要配置如下內(nèi)容:
- core-site.xml,新增配置項以及hdfs-site.xml,新增配置項
- 開啟portmap、nfs3兩個新進(jìn)程
在node1進(jìn)行如下操作:在/export/server/hadoop/etc/hadoop/下
1.在core-site.xml內(nèi)新增如下兩項
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
- 項目:hadoop.proxyuser.hadoop.groups? ? ? ? 值:*
允許hadoop用戶代理任何其他用戶組
- 項目:hadoop.proxyuser.hadoop.hosts? ? ? ? 值:*
允許代理任何服務(wù)器的請求
2、在hdfs-site.xml中新增如下項
<property>
<name>nfs.superuser</name>
<value>hadoop</value>
</property>
<property>
<name>nfs.dump.dir</name>
<value>/tmp/.hdfs-nfs</value>
</property>
<property>
<name>nfs.exports.allowed.hosts</name>
<value>192.168.88.1 rw</value>
</property>
- nfs.suerpser:NFS操作HDFS系統(tǒng),所使用的超級用戶(hdfs的啟動用戶為超級用戶)
- nfs.dump.dir:NFS接收數(shù)據(jù)上傳時使用的臨時目錄
- nfs.export.allowed.hosts:NFS允許連接的客戶端IP和權(quán)限,rw表示只讀,IP整體或部分可以以*代替。
4.1.3、啟用NFS功能?
1、將配置好將配置好的core-site.xml和hdfs-site.xml分發(fā)到node2和node3.
2、重啟Hadoop HDFS集群(先stop-dfs.sh,后start-dfs.sh)
3、停止系統(tǒng)的NFS相關(guān)進(jìn)程,(必須以root執(zhí)行):
a).systemctlstop nfs;? ? systemctldisable nfs? ?關(guān)閉系統(tǒng)nfs并關(guān)閉其開機(jī)自啟
b).yum remove-yrpcbind 卸載系統(tǒng)自帶rpcbind(因為要使用hdfs自帶的rpcbind功能)
4、啟動portmap(HDFS自帶的rpcbind功能)(必須以root執(zhí)行):
hdfs --daemon start portmap
?
5、啟動nfs(HDFS自帶的nfs功能)(必須以hadoop用戶執(zhí)行):
hdfs--daemon start nfs3
4.1.4、檢查NFS是否正常
以下操作在node2或node3執(zhí)行(因為node1卸載了rpcbind,缺少了必要的2個命令)
- 執(zhí)行:rpcinfo?-p node1,正常輸出如下:有mountd和nfs出現(xiàn)
- 執(zhí)行:showmount -e node1,可以看到 /192.168.88.1
4.1.5、在windows掛載HDFS文件系統(tǒng)
1、開啟Windows的NFS功能
此功能需要專業(yè)版,如果是家庭版windows需要升級為專業(yè)版
2、在Windows命令提示符(CMD)內(nèi)輸入:net use X:\\192.168.88.101\!
3、完成后即可在文件管理器中看到盤符為X的網(wǎng)絡(luò)位置
4、點擊右鍵客戶斷開連接文章來源:http://www.zghlxwxcb.cn/news/detail-858304.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-858304.html
到了這里,關(guān)于【Hadoop】-HDFS的Shell操作[3]的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!