使用HDFS客戶端
更新時間 2024-10-10 10:40:35
最近更新時間: 2024-10-10 10:40:35
分享文章
本章節主要介紹使用HDFS客戶端 。
操作場景
該任務指導用戶在運維場景或業務場景中使用HDFS客戶端。
前提條件
- 已安裝客戶端。
例如安裝目錄為“/opt/hadoopclient”,以下操作的客戶端目錄只是舉例,請根據實際安裝目錄修改。
- 各組件業務用戶由系統管理員根據業務需要創建。安全模式下,“機機”用戶需要下載keytab文件。“人機”用戶第一次登錄時需修改密碼。(普通模式不涉及)
使用HDFS客戶端
- 以客戶端安裝用戶,登錄安裝客戶端的節點。
- 執行以下命令,切換到客戶端安裝目錄。
cd /opt/hadoopclient
- 執行以下命令配置環境變量。
source bigdata_env
- 如果集群為安全模式,執行以下命令進行用戶認證。普通模式集群無需執行用戶認證。
kinit 組件業務用戶
- 直接執行HDFS Shell命令。例如:`
hdfs dfs -ls /
HDFS客戶端常用命令
常用的HDFS客戶端命令如下表所示。
詳見下表:HDFS客戶端常用命令
| 命令 | 說明 | 樣例 |
|---|---|---|
| hdfs dfs -mkdir文件夾名稱 | 創建文件夾 | hdfs dfs -mkdir /tmp/mydir |
| hdfs dfs -ls文件夾名稱 | 查看文件夾 | hdfs dfs -ls /tmp |
| hdfs dfs -put客戶端節點上本地文件 HDFS指定路徑 | 上傳本地文件到HDFS指定路徑 | hdfs dfs -put /opt/test.txt /tmp上傳客戶端節點“/opt/test.txt”文件到HDFS的“/tmp”路徑下 |
| hdfs dfs -gethdfs指定文件 客戶端節點上指定路徑 | 下載HDFS文件到本地指定路徑 | hdfs dfs -get /tmp/test.txt /opt/下載HDFS的“/tmp/test.txt”文件到客戶端節點的“/opt”路徑下 |
| hdfs dfs -rm -r -fhdfs指定文件夾 | 刪除文件夾 | hdfs dfs -rm -r -f /tmp/mydir |
| hdfs dfs -chmod權限參數 文件目錄 | 為用戶設置HDFS目錄權限 | hdfs dfs -chmod 700 /tmp/test |
客戶端常見使用問題
- 當執行HDFS客戶端命令時,客戶端程序異常退出,報“java.lang.OutOfMemoryError”的錯誤。
這個問題是由于HDFS客戶端運行時的所需的內存超過了HDFS客戶端設置的內存上限(默認為128MB)。可以通過修改“ < 客戶端安裝路徑> /HDFS/component_env”中的“CLIENT_GC_OPTS”來修改HDFS客戶端的內存上限。例如,需要設置該內存上限為1GB,則設置:
CLIENT_GC_OPTS="-Xmx1G"
在修改完后,使用如下命令刷新客戶端配置,使之生效:
source < 客戶端安裝路徑 >/bigdata_env
- 如何設置HDFS客戶端運行時的日志級別?
HDFS客戶端運行時的日志是默認輸出到Console控制臺的,其級別默認是INFO級別。有的時候為了定位問題,需要開啟DEBUG級別日志,可以通過導出一個環境變量來設置,命令如下:
export HADOOP_ROOT_LOGGER=DEBUG,console
在執行完上面命令后,再執行HDFS
Shell命令時,即可打印出DEBUG級別日志。
如果想恢復INFO級別日志,可執行如下命令:
export HADOOP_ROOT_LOGGER=INFO,console
- 如何徹底刪除HDFS文件?
由于HDFS的回收站機制,一般刪除HDFS文件后,文件會移動到HDFS的回收站中。如果確認文件不再需要并且需要立馬釋放存儲空間,可以繼續清理對應的回收站目錄(例如:hdfs://hacluster/user/ xxx /.Trash/Current/ xxx )。