操作系統(tǒng):Ubuntu12.04
Hadoop版本:1.0.4
二、Hadoop官網(wǎng)安裝手冊(cè)
單機(jī)安裝分為“standalone”和“pseudo-distributed”兩種模式,我使用的是偽分布式模式。
手冊(cè)的安裝步驟很詳細(xì),沒(méi)有必要當(dāng)翻譯工了。但是手冊(cè)為了通用性,犧牲了一些關(guān)鍵問(wèn)題的討論。第三節(jié)中提及一下。
三、手冊(cè)缺陷
手冊(cè)主要有兩個(gè)問(wèn)題沒(méi)有說(shuō)清楚:
1.Hadoop安裝在哪個(gè)目錄下好?
選擇一般有兩種:/usr/local和家目錄下。我選擇安裝在家目錄下,因?yàn)殚_(kāi)始玩hadoop的時(shí)候,這樣避免了權(quán)限的麻煩;如果要部署應(yīng)用的話,應(yīng)該安裝在/usr/local。
2.配置文件的問(wèn)題
這是安裝hadoop最重要的步驟。所有配置文件均在${HADOOP_HOME}/conf目錄下。
如果完全按照手冊(cè)配置,你的hadoop可能經(jīng)常遇到NameNode或DataNode啟動(dòng)不起來(lái)的情況。配置文件的不同主要在core-site.xml.
手冊(cè)配置如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>我的配置如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/zhengeek/hadoop-tmp</value>
<description>A base for other temporary directories.</description>
</property>
</configuration>
有兩處不同:
1.9000和8020這兩個(gè)端口都可以,只要沒(méi)有被占用。
2.最容易出問(wèn)題的地方就在這里。比如這個(gè)哥們遇到的問(wèn)題。
hadoop運(yùn)行起來(lái),hdfs和mapreduce有許多數(shù)據(jù)需要保存。這可以通過(guò)dfs.name.dir 和 dfs.data.dir設(shè)置。如果沒(méi)有設(shè)置,那么數(shù)據(jù)就會(huì)默認(rèn)存放在/tmp目錄下,如果機(jī)器重啟,tmp目錄下的數(shù)據(jù)就會(huì)丟失,namenode自然啟動(dòng)不起來(lái)了。
如果設(shè)置了hadoop.tmp.dir,那么這些數(shù)據(jù)就會(huì)默認(rèn)存放在改目錄下。
有關(guān)hadoop.tmp.dir設(shè)置的討論。
四、啟動(dòng)hadoop
1.格式化hdfs
$bin/hadoop namenode -format
2.啟動(dòng)hdfs
$bin/start-all.sh
3.檢查是否成功
$jps
若成功,會(huì)看到namenode,secondarynamenode,datanode,jobtracker和tasktracker五個(gè)進(jìn)程。