在去年寒假的時候,我們已經完成了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.shhdfs全域性狀態資訊
命令: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 ...