分布式文件系统HDFS,大数据存储实战(一)
?
本文進行了以下工作:
預備知識
和各種大型關系型數據庫(如sql server和oracle等)一樣,Hadoop有自己的文件系統,在操作系統中只能看到文件,用文件工具強制打開以后是無法理解的亂碼,只能通過Hadoop系統去管理和讀取。
所以OS的文件系統和hadoop的文件系統是相互獨立的,要用hadoop,需要從OS中把文件導入hadoop系統。?
準備測試文件
OS中hadoop目錄下新建input目錄,之所以叫input,是因為相對hadoop系統來講,這個目錄是輸入目錄。
用echo “hello world” >test1.txt的方式,創建兩個文件,當然可以用其它任何方式創建文件。結果如圖所示:
?
?
bin/hadoo dfs -put ../input in
-put的意思是把本地的input目錄下的文件放到hadoop系統的in目錄下。
?
完成以后可用以下命令查看:
bin/hadoop dfs -ls in/*
效果如上圖。意思是:列出in目錄下的所有目錄及文件
?
如果要從hadoop中刪除一個目錄,則使用以下命令
bin/hadoop dfs -rmr 目錄名
?
參數dfs表示對分布式文件系統進行操作,相應的還有jar,表示調用jar包中的程序。
?
運行java程序,對已配置完成的hadoop系統進行測試
?
運行bin/hadoop jar hadoop-0.20.2-examples.jar wordcount in out
jar表示運行java程序,一般是一個mapreduce的作業,即提交mapreduce作業。圖中的hadoop-0.20.2是hadoop提供的示例jar包,wordcount程序在其中,in指出hadoop系統中的原始數據目錄,out是hadoop系統中的輸出數據目錄,如果不存在,則自動創建。顧名可思義,wordcount是用來統計單詞出現次數的程序。
?
?
bin/hadooop dfs -ls,表示列出根目錄的目錄列表
bin/hadooop dfs -ls out,表示列出out目錄的目錄列表
?
輸出后,執行結果放在了part-r-00000文件中,日志放在了_logs目錄
?
?
hadoop dfs -cat out/part-r-00000
是顯示part-r-00000的結果,可以看到
hadood 出現了1次,hello出現了2次,world出現了1次
?
?
?
?
在namenode上可以用localhost:50030,遠程可以用IP:50030,如http://192.168.1.8:50030
?
?
?
?
?
?
?
?
最后,再把前面提到的關于hadoop是一個獨立的文件系統用實際數據展示一下:
?
?
?
可以看到meta是原始數據,不帶meta的是數據文件。
這些文件會保存在數據節點(小弟機、slaves)的hdfs-site.xml文件中的fs.data.dir所指向的目錄,如/opt/hadoop/data。修改后此值后,master調用bin/stop-all.sh,再調用bin/start-all.sh后完成重新啟動后,就能看到新的數據目錄。
轉載于:https://www.cnblogs.com/Sabre/p/10393990.html
總結
以上是生活随笔為你收集整理的分布式文件系统HDFS,大数据存储实战(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos6 安装RabbitMq3.
- 下一篇: CVE-2019-8341 Jinja2