您好,登錄后才能下訂單哦!
小編給大家分享一下Hadoop安裝與使用怎么進行,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
Hadoop是一個分布式系統基礎架構,由Apache基金會開發。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力高速運算和存儲。
簡單地說來,Hadoop是一個可以更容易開發和運行處理大規模數據的軟件平臺。
Hadoop實現了一個分布式文件系統(HadoopDistributedFileSystem),簡稱HDFS。HDFS有著高容錯性(fault-tolerent)的特點,并且設計用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(highthroughput)來訪問應用程序的數據,適合那些有著超大數據集(largedataset)的應用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以流的形式訪問(streamingaccess)文件系統中的數據。下面是Hadoop安裝使用步驟。
1.部署hadoop
前面講的這么多Hadoop的環境變量和配置文件都是在dbrg-1這臺機器上的,現在需要將hadoop部署到其他的機器上,保證目錄結構一致。
wukong@wukong1:~/hadoop-config$scp-r/home/wukong/hadoop-0.13.0wukong2:/home/wukong
wukong@wukong1:~/hadoop-config$scp-r/home/wukong/hadoop-0.13.0wukong3:/home/wukong
wukong@wukong1:~/hadoop-config$scp-r/home/wukong/hadoop-configwukong2:/home/wukong
wukong@wukong1:~/hadoop-config$scp-r/home/wukong/hadoop-configwukong3:/home/wukong
至此,可以說,Hadoop已經在各個機器上部署完畢了
如果要新加入節點的話,新的節點要重復前面2,3步,本地安裝好hadoop后,從其它節點把hadoop-config復制過來,還要修改其它所有機器的/ets/hosts和.ssh/authorized_keys,加入對新節點的識別。
2.啟動hadoop
Hadoop安裝完成之后就可以啟動了,啟動之前,我們先要格式化namenode,先進入~/hadoop目錄,執行下面的命令
wukong@wukong1:~/hadoop$bin/hadoopnamenode-format
不出意外,應該會提示格式化成功。如果不成功,就去hadoop/logs/目錄下去查看日志文件
下面就該正式啟動hadoop啦,在bin/下面有很多啟動腳本,可以根據自己的需要來啟動。
*start-all.sh啟動所有的Hadoop守護。包括namenode,datanode,jobtracker,tasktrack
*stop-all.sh停止所有的Hadoop
*start-mapred.sh啟動Map/Reduce守護。包括Jobtracker和Tasktrack
*stop-mapred.sh停止Map/Reduce守護
*start-dfs.sh啟動HadoopDFS守護.Namenode和Datanode
*stop-dfs.sh停止DFS守護
在這里,簡單啟動所有守護
wukong@wukong1:~/hadoop$$bin/start-all.sh
同樣,如果要停止hadoop,則
wukong@wukong1:~/hadoop$bin/stop-all.sh
3.hadoop文件系統操作
wukong@wukong1:~/hadoop$bin/hadoopdfsadmin-report查看當前文件系統狀態
Totalrawbytes:107354136576(99.98GB)
Usedrawbytes:8215538156(7.65GB)
%used:7.65%
Totaleffectivebytes:143160206(136.52MB)
Effectivereplicationmultiplier:57.38702384935098
-------------------------------------------------
Datanodesavailable:2
Name:192.168.100.3:50010
State:InService
Totalrawbytes:39395708928(36.69GB)
Usedrawbytes:3089165011(2.87GB)
%used:7.84%
Lastcontact:TueJul1013:09:24CST2007
Name:192.168.100.2:50010
State:InService
Totalrawbytes:67958427648(63.29GB)
Usedrawbytes:5126373145(4.77GB)
%used:7.54%
Lastcontact:TueJul1013:09:25CST2007
說明wukong2和wukong3作為datanode節點,總的容量,有效數據大小等。
4.使用hadoop來做計算
我們來看一下Hadoop安裝完成以后如何使用它來做計算。hadoop基于mapreduce模型進行計算。MapReduce是一種簡化的分布式編程模式,讓程序自動分布到一個由普通機器組成的超大集群上并發執行。就如同java程序員可以不考慮內存泄露一樣,MapReduce的run-time系統會解決輸入數據的分布細節,跨越機器集群的程序執行調度,處理機器的失效,并且管理機器之間的通訊請求。這樣的模式允許程序員可以不需要有什么并發處理或者分布式系統的經驗,就可以處理超大的分布式系統得資源。
hadoop自帶了一些測試用的例子:
wukong@wukong1:~/hadoop$jar-tfhadoop-0.13.0-examples.jar
然后可以看到有如下幾個:grep,wordcount,sort等
我們在文件系統上新建一個文件夾:grepin
wukong@wukong1:~/hadoop$./bin/hadoopdfs-mkdirgrepin
在本地創建一個文件,test.txt
wukong@wukong1:~/hadoop$cat/tmp/tmp_miao/test.txt
test
傳到文件系統上去
wukong@wukong1:~/hadoop$./bin/hadoopdfs-put/tmp/tmp_miao/test.txtgrepin
然后wukong@wukong1:~/hadoop$./bin/hadoopdfs-lsrgrepin,可以看到:
/user/wukong/grepin/test.txt<r1>50
說明這個文件已經上傳了。
然后就可以跑grep了:
$./bin/hadoopjarhadoop-0.13.0-examples.jargrepgrepingrepouttest
輸入文件在grepin中,計算結果寫入grepout中,grepout之前要不存在,不能把結果寫入已存在的文件中。
grepout中的文件有:(好像是指定幾個reducertask,會生成幾個結果文件,在hadoop-site.xml中通過mapred.reduce.tasks來指定reducertask的數量)
wukong@wukong1:~/hadoop$./bin/hadoopdfs-lsrgrepout
/user/wukong/grepout/part-00000<r1>8
/user/wukong/grepout/part-00001<r1>0
看完了這篇文章,相信你對“Hadoop安裝與使用怎么進行”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。