VirtualBox環(huán)境下基于多臺ubuntu虛擬機的Hadoop分布式計算環(huán)境搭建

VirtualBox環(huán)境下基于多臺ubuntu虛擬機的Hadoop分布式計算環(huán)境搭建


作者:李磊?beginner_Lee

完成時間:2011-5-23 12:15

版本:v2.0

摘要:本文介紹了在VirtualBox下安裝3臺ubuntu虛擬機,并搭建Hadoop環(huán)境的基本步驟贡这,最后運行了Hadoop自帶example中的wordcount例程架曹,可以作為初學(xué)者的入門教材艺演。

備注:原創(chuàng)作品诲侮,首發(fā)blog.csdn.net/beginner_Lee缓淹,如有轉(zhuǎn)載敬請注明捷绒。

環(huán)境:

主機:ubuntu11.04

VirtualBox版本:4.0.6 r71344

ubuntu虛擬機版本:ubuntu11.04

ubuntu虛擬機jdk版本:jdk-1.6.0_25

ubuntu虛擬機hadoop版本:hadoop-0.20.2


關(guān)鍵詞:Hadoop袄友,wordcount担败,ssh


總體概述要在單獨的一臺計算機上實現(xiàn)Hadoop多節(jié)點分布式計算昔穴,需要通過虛擬機建立多個主機,鑒于VirtualBox的大小只是VMware的十分之一提前,我選擇了前者吗货。依次完成新建虛擬機、安裝ssh狈网、配置密鑰實現(xiàn)無密碼訪問宙搬、安裝jdk、安裝hadoop并配置后孙援,就可以運行wordcount來見識一下了不起的東西了害淤!

詳細步驟

安裝虛擬機首先要在vbox中建立ubuntu系統(tǒng),無論主機的操作系統(tǒng)是windows還是linux都沒關(guān)系拓售,我們之后進行的所有操作都只在虛擬機的ubuntu中進行窥摄。由于是在虛擬機中安裝,就沒有硬盤安裝ubuntu那樣麻煩了础淤。上官網(wǎng)把ubuntu10.04LTS.iso下好崭放,放在本地文件夾中,啟動vbox鸽凶,新建一個子os币砂,選項都很簡單,網(wǎng)卡設(shè)置為host-only玻侥,從之前下載的iso鏡像啟動决摧。啟動后的安裝步驟在這里不再贅述,如有疑問請參照我之前的一篇文章。當?shù)谝粋€虛擬機建好后掌桩,不要使用同樣的方法建立第二個ubuntu系統(tǒng)边锁,vbox為我們提供了簡便的復(fù)制方法,在Terminal中輸入sudo vboxmanage clonevdi [source.vdi] [destination.vdi];就可以完全克隆一個os波岛,之后new一個os茅坛,在選擇硬盤那里找到剛clone的destination.vdi作為硬盤即可。我們用這種方法建立3臺虛擬機则拷,分別命名為UB01贡蓖,UB02和UB03,它們的用戶名必須一致煌茬,這里設(shè)置為vbox斥铺,為了簡單,密碼也統(tǒng)一設(shè)定為vbox坛善。進行到這里仅父,可以用ifconfig查看三臺虛擬機的ip地址,正常的話它們的ip各不相同浑吟,且相互之間可以ping通笙纤,到這里就完成了第一步。

安裝配置ssh僅僅能ping通還是不夠的组力,為了完成分布式計算系統(tǒng)省容,需要三臺機器相互之間可以無密碼訪問(或者是master可以無密碼訪問2個slave)。首先在三臺虛擬機上安裝ssh-openserver

sudo apt-get install ssh rsync完成后燎字,在個人目錄/home/vbox/下新建.ssh文件夾腥椒,在.ssh中執(zhí)行

ssh-keygen -t rsa系統(tǒng)會問你一些配置,由于是初次實驗候衍,不需要這些內(nèi)容笼蛛,點回車繼續(xù)下去即可。完成后會在.ssh/下生成id_rsa和id_isa.pub兩個文件蛉鹿,三臺機器做同樣處理滨砍。忘了一件事,需要配置三臺機器的別名妖异,這樣就不用通過ip互訪了惋戏,打開/etc/hosts,清空里面的內(nèi)容他膳,寫入

127.0.0.1localhostlocalhost.localdomainlocalhost

192.168.56.101UB01UB01.localdomainUB01

192.168.56.102UB02

192.168.56.103UB03對于UB01按如上書寫响逢,對于UB02如下,UB03則可一并推出(這里的每一個ip地址都應(yīng)該是ifconfig后看到的棕孙,因機而異)

127.0.0.1localhostlocalhost.localdomainlocalhost

192.168.56.101UB01

192.168.56.102UB02UB02.localdomainUB02

192.168.56.103UB03設(shè)置完別名舔亭,可以相互ping一下看看是否生效些膨,這里ping的對象就不是ip地址而是別名了。接下來把它們的密鑰相互交換钦铺,如在UB01中執(zhí)行

scp ~/.ssh/id_isa.pub?vbox@UB02:/home/vbox/.ssh/id_isa.pub.UB01

scp ~/.ssh/id_isa.pub?vbox@UB03:/home/vbox/.ssh/id_isa.pub.UB01這樣做的目的是把UB01的密鑰交給UB02和UB03傀蓉,對UB02和UB03做同樣處理,完成后每一個機器的/.ssh/中應(yīng)該有3個密鑰职抡,一個是自己的,另兩個是別人的误甚,把自己的密鑰連同別人的兩個密鑰加到授權(quán)密鑰中(對UB01)

cat id_isa.pub >> authorized_keys;

cat id_isa.pub.UB02 >> authorized_keys;

cat id_isa.pub.UB03 >> authorized_keys;對其它兩臺機器做同樣處理缚甩。接下來檢驗相互之間是否可以通過ssh實現(xiàn)無密碼訪問,在終端輸入(對UB01)

ssh UB02;

ssh UB03;訪問成功會現(xiàn)實歡迎信息窑邦,初次訪問需要yes擅威,之后就可以不直接訪問了。

安裝jdk在ubuntu系統(tǒng)中安裝jdk的方法我只簡述一下冈钦,有困難者請google之郊丛,網(wǎng)絡(luò)上資源多多。首先下載對應(yīng)版本的jdk瞧筛,下載完成后把.bin包移動到個人目錄/home/vbox/厉熟,執(zhí)行

chmod u+x jdk-a.b.c.bin;

sudo -s ./jdk-a.b.c.bin;等待安裝完成,會在當前路徑生成jdk目錄较幌,接下來設(shè)置環(huán)境變量揍瑟,在/etc/profile/中添加JAVA_HOME、JRE_HOME乍炉、CLASSPATH和PATH的值绢片,reboot后在Terminal輸入java -version會看到版本信息,證明安裝成功岛琼。為了備忘底循,環(huán)境變量的配置還是寫在下邊吧

JAVA_HOME=/home/vbox/jdk1.6.0_25

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

expoet PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

安裝hadoop將下載到的hadoop-0.20.2.tar.gz移動到個人目錄/home/vbox/,執(zhí)行安裝操作

tar -xzvf hadoop-0.20.2.tar.gz會在當前路徑生成hadoop文件夾槐瑞,接著修改文件夾所有者

chown vbox:vbox hadoop-0.20.2隨后把hadoop的環(huán)境變量加入到/etc/profile中熙涤,添加如下內(nèi)容

export HADOOP_HOME=/home/vbox/hadoop-0.20.2

export PATH=$HADOOP_HOME/bin:$PATH接下來需要修改hadoop/conf/目錄下的配置文件,共有6個文件需要修改困檩,分別是masters灭袁、slaves、core-site.xml窗看、mapred-site.xml茸歧、hdfs-site.xml、hadoop-env.sh显沈,修改如下文件masters

UB01文件slaves

UB02

UB03文件core-site.xml

hadoop.tmp.dir

/home/vbox/tmp

As you like


fs.default.name

hdfs://UB01:9000

文件mapred-site.xml

mapred.job.tracker

UB01:9001

文件hdfs-site.xml

dfs.replication

1

文件hadoop-env.sh在末尾添加

export JAVA_HOME=/home/vbox/jdk1.6.0_25說明幾個地方软瞎,以上幾個文件中具體的版本號逢唤、路徑與ip地址要根據(jù)各自虛擬機信息區(qū)別配置,不要把我的ip抄到你的文件里涤浇,沒用的鳖藕。注意hdfs-site.xml中設(shè)定為1的value是最小節(jié)點數(shù),之前為3只锭,會出現(xiàn)2個slave運行不能的情況著恩,以上配置信息對UB01、UB02和UB03完全一致蜻展。

執(zhí)行wordcount例程進入/home/vbox/hadoop/目錄喉誊,格式化文件系統(tǒng)并啟動所有服務(wù)

hadoop namenode -format;

start-all.sh編寫輸入文件,建立input輸入并將文件寫入input

echo “It is such a boring thing” > input_test_01;

echo “But I like it” > input_test_02;

hadoop fs -mkdir input;

hadoop fs?-copyFormatLocal input_test_0* input;執(zhí)行wordcount并察看計數(shù)結(jié)果

hadoop jar hadoop-0.20.2-examples.jar wordcount input output;

hadoop fs -cat output/part-r-00000;會在Terminal中看到如下wordcount信息

51

Damn!1

NAT1

...注意纵顾,在第一次執(zhí)行wordcount后伍茄,input和output文件依舊存在,若再次執(zhí)行wordcount會出現(xiàn)無法響應(yīng)的錯誤施逾,需要通過以下的命令刪除input與output敷矫,系統(tǒng)才會正常工作。使用xxxxxx命令關(guān)閉防火墻汉额。

hadoop dfs -rmr input output

觀察運行結(jié)果曹仗,有三種方式通過web方式?http://UB01:50070通過java方式Terminal輸入jps監(jiān)測HDFS方式?Terminal輸入hadoop dfsadmin -report

過程截圖略

常用hadoop命令

hadoop namenode -format格式化節(jié)點

start-all.sh開啟所有服務(wù)

hadoop dfsadmin -report察看報告

hadoop fs -mkdire input新建輸入目錄

hadoop fs -ls/列出文件系統(tǒng)

hadoopfs -put conf input將conf目錄put到input目錄

hadoop fs -rmr output刪除output目錄

hadoop jar hadoop-0.20.2-examples.jar wordcount input output運行wordcount

hadoop fs -get ouput /home/output拷貝到本地

home/cat otuput/*顯示

hadoop fs -copyToLocal input /home/vbox拷貝,同fs -get

Some tips

Q:datanode個數(shù)為0或者小于預(yù)設(shè)值

A:刪除各個/home/vbox/tmp文件夾

Q:將各個節(jié)點的id_rsa.pub相互追加后無法實現(xiàn)ssh無密碼互訪

A:先搞二個互訪蠕搜,再一個一個加上去

Q:3臺ubuntu11.04的虛擬機慢死了

A:換成10.04


目前您尚未登錄整葡,請?登錄?或?注冊?后進行評論

xiaoyao3857

2012-10-25 15:291樓

回復(fù)

"有3個密鑰,一個是自己的讥脐,另兩個是別人的遭居,把自己的密鑰連同別人的兩個密鑰加到授權(quán)密鑰中(對UB01)

cat id_isa.pub >> authorized_keys;

cat id_isa.pub.UB02 >> authorized_keys;

cat id_isa.pub.UB03 >> authorized_keys;

對其它兩臺機器做同樣處理。接下來檢驗相互之間是否可以通過ssh實現(xiàn)無密碼訪問旬渠,在終端輸入(對UB01)

ssh UB02;

ssh UB03;

訪問成功會現(xiàn)實歡迎信息俱萍,初次訪問需要yes,之后就可以不直接訪問了告丢。"看上去枪蘑,上面"cat id_isa.pub.UB03 >> authorized_keys;"后面似乎有分號或冒號,但實際上應(yīng)該沒有吧岖免?另外岳颇,若說安裝不了openssh-server,那么,應(yīng)該試圖改一下軟件源颅湘,然后 sudo apt-get update

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末话侧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子闯参,更是在濱河造成了極大的恐慌瞻鹏,老刑警劉巖悲立,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異新博,居然都是意外死亡薪夕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門赫悄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來原献,“玉大人,你說我怎么就攤上這事埂淮」糜纾” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵同诫,是天一觀的道長。 經(jīng)常有香客問我樟澜,道長误窖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任秩贰,我火速辦了婚禮霹俺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毒费。我一直安慰自己丙唧,他們只是感情好,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布觅玻。 她就那樣靜靜地躺著想际,像睡著了一般。 火紅的嫁衣襯著肌膚如雪溪厘。 梳的紋絲不亂的頭發(fā)上胡本,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音畸悬,去河邊找鬼侧甫。 笑死,一個胖子當著我的面吹牛蹋宦,可吹牛的內(nèi)容都是我干的披粟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼冷冗,長吁一口氣:“原來是場噩夢啊……” “哼守屉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蒿辙,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤胸梆,失蹤者是張志新(化名)和其女友劉穎敦捧,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碰镜,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡兢卵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了绪颖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秽荤。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖柠横,靈堂內(nèi)的尸體忽然破棺而出窃款,到底是詐尸還是另有隱情,我是刑警寧澤牍氛,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布晨继,位于F島的核電站,受9級特大地震影響搬俊,放射性物質(zhì)發(fā)生泄漏紊扬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一唉擂、第九天 我趴在偏房一處隱蔽的房頂上張望餐屎。 院中可真熱鬧,春花似錦玩祟、人聲如沸腹缩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽藏鹊。三九已至,卻和暖如春转锈,著一層夾襖步出監(jiān)牢的瞬間伙判,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工黑忱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宴抚,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓甫煞,卻偏偏與公主長得像菇曲,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子抚吠,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容