Ubuntu 12.04搭建Hadoop2.0.4單機版?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
按回車鍵后就會打開/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無密碼登錄本機
首先要轉(zhuǎn)換成hadoop用戶,執(zhí)行以下命令:
su - hadoop
如圖:
ssh生成密鑰有rsa和dsa兩種生成方式,默認情況下采用rsa方式。
1. 創(chuàng)建ssh-key,,這里我們采用rsa方式:
ssh-keygen -t rsa -P ""
如圖:
(注:回車后會在~/.ssh/下生成兩個文件:id_rsa和id_rsa.pub這兩個文件是成對出現(xiàn)的)
2. 進入~/.ssh/目錄下,將id_rsa.pub追加到authorized_keys授權(quán)文件中,開始是沒有authorized_keys文件的:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
如圖:
(完成后就可以無密碼登錄本機了。)
3. 登錄localhost:
ssh localhost
如圖:
( 注:當ssh遠程登錄到其它機器后,現(xiàn)在你控制的是遠程的機器,需要執(zhí)行退出命令才能重新控制本地主機。)
4. 執(zhí)行退出命令:
exit
六. 安裝hadoop
hadoop版本是2.0.4alpha
安裝包解壓縮后,先進入etc/hadoop/目錄下,按照單機版方式配置幾個配置文件。
以前的hadoop版本配置文件在hadoop/conf/路徑下
有core-site.xml,hdfs-site.xml,但是沒有了mapred-site.xml,取而代之的是yarn-site.xml
masters和slaves兩個好像masters也沒有,建一個內(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這個文件
可以自己建一個
三、啟動
啟動的文件都是 sbin下,bin下的都是命令。之前的hadoop版本啟動文件好像在bin下。如果你為了方便可以把這兩個目錄添加到環(huán)境變量中去,這樣就可以直接運行命令,而不用運行絕對路徑。配置環(huán)境變量略(我這里還是用絕對路徑)。
切換到該安裝目錄下
首先格式化 namenode
- bin/hdfs namenode -format
確定不報錯,且出現(xiàn)
startos/192.168.0.101是我的計算機名和Ip
啟動namenode
- sbin/hadoop-daemon.sh start namenode
- sbin/hadoop-daemon.sh start datanode
運行測試
jps
出現(xiàn):
8431 Jps
8353 DataNode
8271 NameNode
證明啟動成功,如果沒有出現(xiàn)DataNode或者NameNode,證明啟動沒有成功,可以查看hadoop安裝目錄下的logs下的日志記錄。
結(jié)果啟動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
進行一個授權(quán)
將hadoop安裝目錄授權(quán)給當前用戶
sudo chown -R hadoop:hadoop /usr/local/hadoop
再次啟動
sbin/hadoop-daemon.sh start namenode
經(jīng)驗證
jps
6296 NameNode
6332 Jps
成功啟動
終于把NameNode啟動了
原文鏈接:http://blog.sina.com.cn/s/blog_4a17fc5b0101dyda.html
【編輯推薦】