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