Hadoop應(yīng)用之Hadoop安裝篇
本節(jié)繼續(xù)向大家介紹hadoop應(yīng)用中Hadoop安裝方面的內(nèi)容,上節(jié)我們介紹了Hadoop安裝之前的環(huán)境配置,下面就開始Hadoop安裝了,歡迎大家一起來(lái)學(xué)習(xí),希望通過(guò)本節(jié)介紹大家對(duì)Hadoop應(yīng)用有深一步的理解。
一,安裝hadoop系統(tǒng)
1,添加用戶(所有namenode和datanode需要使用相同的用戶名,所有的信息傳輸需要用戶認(rèn)證)
freebsd7test1#adduser
Username:rhinuxdoop
Fullname:
Uid(Leaveemptyfordefault):
Logingroup[rhinuxdoop]:
Logingroupisrhinuxdoop.Inviterhinuxdoopintoothergroups?[]:
Loginclass[default]:
Shell(shcshtcshbashrbashnologin)[sh]:bash//注意***使用bash,其實(shí)程序運(yùn)行的時(shí)候會(huì)自動(dòng)指定shell環(huán)境
Homedirectory[/home/rhinuxdoop]:/services/rhinuxdoop
客戶端必須是和服務(wù)端同樣的用戶名
2,hadoop需要使用rsync+ssh同步狀態(tài)和數(shù)據(jù),需要無(wú)需輸入密碼就可訪問,所以設(shè)置用密鑰認(rèn)證
a,生產(chǎn)密鑰對(duì)(用添加的用戶操作本例用戶為rhinuxdoop)
[rhinuxdoop@freebsd7test1~]$ssh-keygen-tdsa-P''-f~/.ssh/id_dsa
默認(rèn)在~/.ssh/下
b,在本機(jī)用戶中添加
[rhinuxdoop@freebsd7test1~]$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
c,添加到其他datanode
將namenoderhinuxdoop用戶目錄下.ssh/id_rsa.pub文件內(nèi)容導(dǎo)入其他datanode
[rhinuxdoop@freebsd7test2~]$catid_dsa.pub>>~/.ssh/authorized_keys
d,測(cè)試:用rhinuxdoop在namenode上登陸讓后ssh到所有的datanode(本例中包括自己機(jī)器)
應(yīng)該無(wú)需密碼就可以登陸
3,下載hadoop安裝軟件
a,去http://hadoop.apache.org/core/下載***版本hadoop目前為0.16.0版
b,解壓hadoop-0.16.0.tar.gz到用戶目錄/services/rhinuxdoop/
[rhinuxdoop@freebsd7test1~]$tarzxvfhadoop-0.16.0.tar.gz.
4,hadoop-0.16.0目錄結(jié)構(gòu)說(shuō)明:
a,bin存放腳本程序,
比如主控制程序hadoop,
啟動(dòng)腳本start-all.sh--啟動(dòng)所有hadoop進(jìn)程start-dfs.sh--啟動(dòng)DFS進(jìn)程start-mapred.sh啟動(dòng)MAP/Reduce進(jìn)程
停止腳本stop-all.shstop-dfs.shstop-mapred.sh
b,conf配置文件目錄,
環(huán)境配置文件hadoop-env.sh可以配置環(huán)境變量,比如JAVA_HOME已經(jīng)系統(tǒng)默認(rèn)等。
默認(rèn)配置文件hadoop-default.xml此文件不能修改需要設(shè)置參數(shù)請(qǐng)修改hadoop-site.xml
自定義配置文件hadoop-site.xml此文件可以自定義配置,出現(xiàn)在該文件中的配置項(xiàng),系統(tǒng)將自動(dòng)取代默認(rèn)配置文件hadoop-default.xml中的配置項(xiàng)
namenode指定文件masters此文件來(lái)指定master(namenode)機(jī)器名
datanode指定文件slaves此文件來(lái)指定slave(datanode)機(jī)器列表,每臺(tái)機(jī)器名占一行
c,log目錄
默認(rèn)日志存放目錄
d,各配置文件具體參數(shù)說(shuō)明和研究下一個(gè)版本中給出。下面我們看一下Hadoop安裝過(guò)程中hadoop配置(freebsd7test1)。
5,hadoop配置(freebsd7test1):
a,建立namenode存儲(chǔ)目錄及數(shù)據(jù)目錄
[rhinuxdoop@freebsd7test1~]$mkdir-p/services/rhinuxdoop/hadoop-0.16.0/filesystem/name
[rhinuxdoop@freebsd7test1~]$mkdir-p/services/rhinuxdoop/hadoop-0.16.0/filesystem/data
b,配置環(huán)境變量,編輯./conf/hadoop-env.sh
===============hadoop-env.sh====================
exportJAVA_HOME=/usr/local/jdk1.5.0
#至少要設(shè)置JAVA_HOME,另外也可以設(shè)置HADOOP_HOME-系統(tǒng)目錄,HADOOP_HOME默認(rèn)為bin目錄的父目錄
=================================================
c,配置hadoop-site.xml(關(guān)于可配置項(xiàng)已經(jīng)各配置項(xiàng)的說(shuō)明可以參考hadoop-default.xml)
配置項(xiàng)格式為:
- <property>
- <name>io.file.buffer.size</name>
- <value>4096</value>
- <description>Thesizeofbufferforuseinsequencefiles.
- Thesizeofthisbuffershouldprobablybeamultipleofhardware
- pagesize(4096onIntelx86),anditdetermineshowmuchdatais
- bufferedduringreadandwriteoperations.</description>
- </property>
- <property>
- <name>配置項(xiàng)名字</name>
- <value>配置項(xiàng)的值</value>
- <description>配置項(xiàng)的說(shuō)明此文字只是幫助人理解用.</description>
- </property>
格式化namenode
[rhinuxdoop@freebsd7test1~]$hadoop-0.16.0/bin/hadoopnamenode-format
無(wú)報(bào)錯(cuò)既可,Hadoop安裝過(guò)程中freebsd7test1基本配置已完成
6,hadoop配置(freebsd7test2及其他datanode)
a,其他datanode必須保持namenode相同的目錄結(jié)構(gòu)所以把namenode目錄復(fù)制過(guò)去
[rhinuxdoop@freebsd7test1~]$scp-rhadoop-0.16.0172.16.27.82:/services/rhinuxdoop/
7,啟動(dòng)hadoop
[rhinuxdoop@freebsd7test1~]$hadoop-0.16.0/bin/start-all.sh
此時(shí)會(huì)告知日志記錄的目錄和文件名,日志記錄基本可以在hadoop-site.xml中設(shè)定默認(rèn)在hadoop-default.xml中設(shè)置為info
8,查看和測(cè)試。
a,系統(tǒng)開啟9000和9001端口分別為dfs的namenode和mapreduce的jobtracke監(jiān)聽口。
b,查看datanode狀態(tài):[rhinuxdoop@freebsd7test1~]$hadoop-0.16.0/bin/hadoopdfsadmin-report可以看到各點(diǎn)的狀態(tài)
c,存放文件:[rhinuxdoop@freebsd7test1~]$hadoop-0.16.0/bin/hadoopfs-put/home/xuyunfeng/tzupdater-1.3.3-2007k.ziptzupdater-1.3.3-2007k.zip
將在本地系統(tǒng)目錄的/home/xuyunfeng/tzupdater-1.3.3-2007k.zip存入hadoop文件系統(tǒng)根目錄中。
d,查看hadoop文件系統(tǒng)目錄[rhinuxdoop@freebsd7test1~]$hadoop-0.16.0/bin/hadoopfs-ls
/user/rhinuxdoop/diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2<r3>543472742008-02-2810:57rw-r--r--rhinuxdoopsupergroup
/user/rhinuxdoop/tzupdater-1.3.3-2007k.zip<r3>2637152008-02-2816:16rw-r--r--rhinuxdoopsupergroup
e,更多hadoop文件系統(tǒng)命令操作請(qǐng)參考手冊(cè)
f,api調(diào)用測(cè)試后續(xù)
g,可以通過(guò)web形式去瀏覽NameNode和JobTracker,默認(rèn)端口為:
◆NameNode-http://freebsd7test1.rhinux.com:50070
◆JobTracker-http://freebsd7test1.rhinux.com:50030
◆需要在瀏覽的機(jī)器上配置好hosts。至此本節(jié)關(guān)于Hadoop應(yīng)用中Hadoop安裝內(nèi)容介紹完畢。
【編輯推薦】
- Hadoop Hdfs配置過(guò)程全程報(bào)道
- Hadoop命令手冊(cè)使用指南
- 專家講解 Hadoop:HBASE松散數(shù)據(jù)存儲(chǔ)設(shè)計(jì)
- 兩種模式運(yùn)行Hadoop分布式并行程序
- Hadoop概念及其用法專家講解