HDFS的檔案操作

2021-09-01 03:14:13 字數 2788 閱讀 2355

在去年寒假的時候,我們已經完成了hadoop集群的搭建,已經初步搭建起來了自己的雲平台,也測試了一下遠端訪問hdfs,這幾天也回顧了一下和測試了一下遠端對hdfs的操作。

hdfs的檔案操作

格式化hdfs

命令:user@namenode:hadoop$ bin/hadoop namenode -format

啟動hdfs

命令:user@namenode:hadoop$ bin/start-dfs.sh

列出hdfs上的檔案

命令:user@namenode:hadoop$ bin/hadoop dfs -ls 

使用hadoop api

public listgetfilebolckhost(configuration conf, string filename) 

return list;

} catch (ioexception e)

return null;

}

在hdfs上建立目錄

命令:user@namenode:hadoop$ bin/hadoop dfs -mkdir /檔名

使用hadoop api

// 在hdfs新建檔案

public fsdataoutputstream createfile(configuration conf, string filename) catch (ioexception e)

return null;

}

上傳乙個檔案到hdfs

命令:user@namenode:hadoop$ bin/hadoop dfs -put 檔名 /user/yourusername/

使用hadoop api

// 上傳檔案到hdfs

public void putfile(configuration conf, string srcfile, string dstfile) catch (ioexception e)

}

從 hdfs 中匯出資料

命令:user@namenode:hadoop$ bin/hadoop dfs -cat foo

使用hadoop api

// 從hdfs讀取檔案

public void readfile(configuration conf, string filename) catch (ioexception e)

}

hdfs 的關閉

命令:user@namenode:hadoop$ bin/stop-dfs.sh

hdfs全域性狀態資訊

命令:bin/hadoop dfsadmin -report

我們可以得到乙份全域性狀態報告。這份報告包含了hdfs集群的基本資訊,當然也有每台機器的一些情況。

以上講的都是本地操作hdfs,都是基於在ubuntu下並配置有hadoop環境下對hdfs的操作,作為客戶端也可以在window系統下遠端的對hdfs進行操作,其實原理基本上差不多,只需要集群中namenode對外開放的ip和埠,就可以訪問到hdfs

/**

* 對hdfs操作

* @author yujing

* */

public class write catch (filenotfoundexception e) catch (ioexception e)

} public static void uploadtohdfs() throws filenotfoundexception, ioexception

});system.out.println("上傳檔案成功");

ioutils.copybytes(in, out, 4096, true);

} /** 從hdfs上讀取檔案 */

private static void readhdfs() throws filenotfoundexception, ioexception

system.out.println("讀檔案成功");

out.close();

hdfsinstream.close();

fs.close();

} /**

true

*/ioexception

out.close();

fs.close();

} /** 從hdfs上刪除檔案 */

private static void deletefromhdfs() throws filenotfoundexception,

ioexception

/** 遍歷hdfs上的檔案和目錄 */

private static void getdirectoryfromhdfs() throws filenotfoundexception,

ioexception

fs.close();

}}

我們可以通過http://主機ip:50030就可以檢視集群的所有資訊,也可以檢視到自己上傳到hdfs上的檔案

HDFS檔案操作

hadoop fs genericopitions ls 顯示目標路徑當前目錄下的所有檔案 lsr 遞迴顯示目標路徑下的所有目錄及檔案 深度優先 du 以位元組為單位顯示目錄中所有檔案的大小,或該檔案的大小 如果path 為檔案 dus 以位元組為單位顯示目標檔案大小 用於檢視資料夾大小 count...

hdfs檔案操作命令

在hadoop安裝目錄下執行以下命令 說明 user fl 是hdfs的預設路徑,fl是使用者名稱 在hdfs上建立資料夾input bin hadoop fs mkdir p user fl input 將本地檔案放到hdfs上 bin hadoop fs put home fl input wo...

常用hdfs檔案操作

hadoop fs genericopitions ls 顯示目標路徑當前目錄下的所有檔案 lsr 遞迴顯示目標路徑下的所有目錄及檔案 深度優先 du 以位元組為單位顯示目錄中所有檔案的大小,或該檔案的大小 如果path為檔案 dus 以位元組為單位顯示目標檔案大小 用於檢視資料夾大小 count ...