如何進(jìn)行Hadoop安裝部署?
本節(jié)接著上節(jié)向大家介紹一下Hadoop安裝部署步驟,主要內(nèi)容有Hadoop環(huán)境變量,Hadoop配置文件,Hadoop的部署以及啟動(dòng)等相關(guān)操作,歡迎大家一起來學(xué)習(xí)Hadoop安裝部署方面的知識(shí)。下面是具體步驟介紹。
1.Hadoop環(huán)境變量
在/home/dbrg/HadoopInstall/hadoop-conf目錄下的hadoop_env.sh中設(shè)置Hadoop需要的環(huán)境變量,其中JAVA_HOME是必須設(shè)定的變量。HADOOP_HOME變量可以設(shè)定也可以不設(shè)定,如果不設(shè)定,HADOOP_HOME默認(rèn)的是bin目錄的父目錄,即本文中的/home/dbrg/HadoopInstall/hadoop。我的是這樣設(shè)置的
exportHADOOP_HOME=/home/dbrg/HadoopInstall/hadoop
exportJAVA_HOME=/usr/java/jdk1.6.0
從這個(gè)地方就可以看出前面所述的創(chuàng)建hadoop0.12.0的鏈接hadoop的優(yōu)點(diǎn)了,當(dāng)以后更新hadoop的版本的時(shí)候,就不需要在改配置文件,只需要更改鏈接就可以了。
2.Hadoop配置文件
如前所述,在hadoop-conf/目錄下,打開slaves文件,該文件用來指定所有的從節(jié)點(diǎn),一行指定一個(gè)主機(jī)名。即本文中的dbrg-2,dbrg-3,因此slaves文件看起來應(yīng)該是這樣的
dbrg-2
dbrg-3
在conf/目錄中的hadoop-default.xml中包含了Hadoop的所有配置項(xiàng),但是不允許直接修改!可以在hadoop-conf/目錄下的hadoop-site.xml里面定義我們需要的項(xiàng),其值會(huì)覆蓋hadoop-default.xml中的默認(rèn)值??梢愿鶕?jù)自己的實(shí)際需要來進(jìn)行定制。以下是我的配置檔:
- <?xmlversionxmlversion="1.0"?>
- <?xml-stylesheettypexml-stylesheettype="text/xsl"href="configuration.xsl"?>
- <!--Putsite-specificpropertyoverridesinthisfile.-->
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>dbrg-1:9000</value>
- <description>Thenameofthedefaultfilesystem.Eithertheliteralstring"local"orahost:portforDFS.</description>
- </property>
- <property>
- <name>mapred.job.tracker</name>
- <value>dbrg-1:9001</value>
- <description>ThehostandportthattheMapReducejobtrackerrunsat.If"local",thenjobsarerunin-processasasinglemapandreducetask.</description>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/home/dbrg/HadoopInstall/tmp</value>
- <description>Abaseforothertemporarydirectories.</description>
- </property>
- <property>
- <name>dfs.name.dir</name>
- <value>/home/dbrg/HadoopInstall/filesystem/name</value>
- <description>DetermineswhereonthelocalfilesystemtheDFSnamenodeshouldstorethenametable.
- Ifthisisacomma-delimitedlistofdirectoriesthenthenametableisreplicatedinallofthedirectories,forredundancy.</description>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/home/dbrg/HadoopInstall/filesystem/data</value>
- <description>DetermineswhereonthelocalfilesystemanDFSdatanodeshouldstoreitsblocks.Ifthisisacomma-delimitedlistofdirectories,
- thendatawillbestoredinallnameddirectories,typicallyondifferentdevices.Directoriesthatdonotexistareignored.</description>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- <description>Defaultblockreplication.Theactualnumberofreplicationscanbespecifiedwhenthefileiscreated.
- Thedefaultisusedifreplicationisnotspecifiedincreatetime.</description>
- </property>
- </configuration>
3.部署Hadoop
前面Hadoop安裝部署過程中講的這么多Hadoop的環(huán)境變量和配置文件都是在dbrg-1這臺(tái)機(jī)器上的,現(xiàn)在需要將hadoop部署到其他的機(jī)器上,保證目錄結(jié)構(gòu)一致。
[dbrg@dbrg-1:~]$scp-r/home/dbrg/HadoopInstalldbrg-2:/home/dbrg/
[dbrg@dbrg-1:~]$scp-r/home/dbrg/HadoopInstalldbrg-3:/home/dbrg/
至此,可以說,Hadoop已經(jīng)在各個(gè)機(jī)器上部署完畢了下面就讓我們開始啟動(dòng)Hadoop吧
4.啟動(dòng)Hadoop
Hadoop安裝部署完成后需要啟動(dòng)Hadoop。啟動(dòng)之前,我們先要格式化namenode,先進(jìn)入~/HadoopInstall/hadoop目錄,執(zhí)行下面的命令
[dbrg@dbrg-1:hadoop]$bin/hadoopnamenode-format
不出意外,應(yīng)該會(huì)提示格式化成功。如果不成功,就去hadoop/logs/目錄下去查看日志文件
下面就該正式啟動(dòng)hadoop啦,在bin/下面有很多啟動(dòng)腳本,可以根據(jù)自己的需要來啟動(dòng)。
*start-all.sh啟動(dòng)所有的Hadoop守護(hù)。包括namenode,datanode,jobtracker,tasktrack
*stop-all.sh停止所有的Hadoop
*start-mapred.sh啟動(dòng)Map/Reduce守護(hù)。包括Jobtracker和Tasktrack
*stop-mapred.sh停止Map/Reduce守護(hù)
*start-dfs.sh啟動(dòng)HadoopDFS守護(hù).Namenode和Datanode
*stop-dfs.sh停止DFS守護(hù)
在這里,簡(jiǎn)單啟動(dòng)所有守護(hù)
[dbrg@dbrg-1:hadoop]$bin/start-all.sh
同樣,如果要停止hadoop,則
[dbrg@dbrg-1:hadoop]$bin/stop-all.sh
HDFS操作
運(yùn)行bin/目錄的hadoop命令,可以查看Haoop所有支持的操作及其用法,這里以幾個(gè)簡(jiǎn)單的操作為例。
建立目錄
[dbrg@dbrg-1:hadoop]$bin/hadoopdfs-mkdirtestdir
在HDFS中建立一個(gè)名為testdir的目錄
復(fù)制文件
[dbrg@dbrg-1:hadoop]$bin/hadoopdfs-put/home/dbrg/large.ziptestfile.zip
把本地文件large.zip拷貝到HDFS的根目錄/user/dbrg/下,文件名為testfile.zip
查看現(xiàn)有文件
[dbrg@dbrg-1:hadoop]$bin/hadoopdfs-ls。本節(jié)關(guān)于Hadoop安裝部署的內(nèi)容就介紹到這里了。
【編輯推薦】