Ubuntu 12.04搭建Hadoop2.0.4單機(jī)版?zhèn)畏植际江h(huán)境
一. 安裝Ubuntu 12.04;
二. 在Ubuntu下創(chuàng)建hadoop用戶組和用戶;
1. 創(chuàng)建hadoop用戶組:
- sudo addgroup hadoop
如圖:
2. 創(chuàng)建hadoop用戶:
- sudo adduser -ingroup hadoop hadoop
如圖:
3. 給hadoop用戶添加權(quán)限,打開/etc/sudoers文件:
- sudo gedit /etc/sudoers
按回車鍵后就會(huì)打開/etc/sudoers文件了,給hadoop用戶賦予root用戶同樣的權(quán)限。
在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL,
hadoop ALL=(ALL:ALL) ALL
如圖:
三. 在Ubuntu下安裝JDK 7
四. 安裝ssh服務(wù)
五、 建立ssh無密碼登錄本機(jī)
首先要轉(zhuǎn)換成hadoop用戶,執(zhí)行以下命令:
su - hadoop
如圖:
ssh生成密鑰有rsa和dsa兩種生成方式,默認(rèn)情況下采用rsa方式。
1. 創(chuàng)建ssh-key,,這里我們采用rsa方式:
ssh-keygen -t rsa -P ""
如圖:
(注:回車后會(huì)在~/.ssh/下生成兩個(gè)文件:id_rsa和id_rsa.pub這兩個(gè)文件是成對(duì)出現(xiàn)的)
2. 進(jìn)入~/.ssh/目錄下,將id_rsa.pub追加到authorized_keys授權(quán)文件中,開始是沒有authorized_keys文件的:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
如圖:
(完成后就可以無密碼登錄本機(jī)了。)
3. 登錄localhost:
ssh localhost
如圖:
( 注:當(dāng)ssh遠(yuǎn)程登錄到其它機(jī)器后,現(xiàn)在你控制的是遠(yuǎn)程的機(jī)器,需要執(zhí)行退出命令才能重新控制本地主機(jī)。)
4. 執(zhí)行退出命令:
exit
六. 安裝hadoop
hadoop版本是2.0.4alpha
安裝包解壓縮后,先進(jìn)入etc/hadoop/目錄下,按照單機(jī)版方式配置幾個(gè)配置文件。
以前的hadoop版本配置文件在hadoop/conf/路徑下
有core-site.xml,hdfs-site.xml,但是沒有了mapred-site.xml,取而代之的是yarn-site.xml
masters和slaves兩個(gè)好像masters也沒有,建一個(gè)內(nèi)容就是localhost
1、core-site.xml
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://127.0.0.1:9000</value>
- </property>
2、hdfs-site.xml
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>file:/usr/local/hadoop-2.0.2-alpha/dfs/name</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>file:/usr/local/hadoop-2.0.2-alpha/dfs/data</value>
- </property>
- mapred-site.xml
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
hadoop2.0.4alpha好像沒有mapred-site.xml這個(gè)文件
可以自己建一個(gè)
三、啟動(dòng)
啟動(dòng)的文件都是 sbin下,bin下的都是命令。之前的hadoop版本啟動(dòng)文件好像在bin下。如果你為了方便可以把這兩個(gè)目錄添加到環(huán)境變量中去,這樣就可以直接運(yùn)行命令,而不用運(yùn)行絕對(duì)路徑。配置環(huán)境變量略(我這里還是用絕對(duì)路徑)。
切換到該安裝目錄下
首先格式化 namenode
- bin/hdfs namenode -format
確定不報(bào)錯(cuò),且出現(xiàn)
startos/192.168.0.101是我的計(jì)算機(jī)名和Ip
啟動(dòng)namenode
- sbin/hadoop-daemon.sh start namenode
- sbin/hadoop-daemon.sh start datanode
運(yùn)行測(cè)試
jps
出現(xiàn):
8431 Jps
8353 DataNode
8271 NameNode
證明啟動(dòng)成功,如果沒有出現(xiàn)DataNode或者NameNode,證明啟動(dòng)沒有成功,可以查看hadoop安裝目錄下的logs下的日志記錄。
結(jié)果啟動(dòng)namenode失敗
chown: changing ownership of `/usr/local/hadoop/logs': Operation not permitted
starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out
sbin/hadoop-daemon.sh: line 151: /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out: Permission denied
head: cannot open `/usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out' for reading: No such file or directory
sbin/hadoop-daemon.sh: line 166: /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out: Permission denied
sbin/hadoop-daemon.sh: line 167: /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out: Permission denied
進(jìn)行一個(gè)授權(quán)
將hadoop安裝目錄授權(quán)給當(dāng)前用戶
sudo chown -R hadoop:hadoop /usr/local/hadoop
再次啟動(dòng)
sbin/hadoop-daemon.sh start namenode
經(jīng)驗(yàn)證
jps
6296 NameNode
6332 Jps
成功啟動(dòng)
終于把NameNode啟動(dòng)了
原文鏈接:http://blog.sina.com.cn/s/blog_4a17fc5b0101dyda.html
【編輯推薦】





























