劉毅
摘要:隨著云計(jì)算的日趨流行和成熟,企事業(yè)單位對(duì)云計(jì)算的需求越來(lái)越多。該文將介紹利用已有學(xué)校教學(xué)資源和開(kāi)源云計(jì)算平臺(tái)Hadoop搭建學(xué)校云計(jì)算環(huán)境。
關(guān)鍵詞:Hadoop;云計(jì)算;開(kāi)源
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)29-0114-03
Use of Teaching Resources to Build Open Source Cloud Platform
LIU Yi
(Guizhou Institute of Technology and Engineering, Guiyang 550001,China)
Abstract: With the increasing popularity of cloud computing and maturity, the demand for cloud computing units of enterprises and institutions is increasing. This article will introduce the use of existing school teaching resources and open source cloud computing platform to build the school cloud computing environment Hadoop.
Key words: Hadoop; cloud computing; open source
信息化發(fā)展的今天,普通學(xué)校擁有大量的計(jì)算機(jī)資源,而這些資源除了應(yīng)對(duì)教學(xué)任務(wù),大部分時(shí)候被閑置。另外由于計(jì)算機(jī)的更新?lián)Q代造成學(xué)校不斷重新購(gòu)置新計(jì)算機(jī)。這些都是對(duì)計(jì)算資源的極大浪費(fèi),如何充分利用這些資源呢,可以使用開(kāi)源的云計(jì)算平臺(tái)Hadoop把這些計(jì)算能力相對(duì)較弱的計(jì)算機(jī)組成為一臺(tái)超級(jí)計(jì)算機(jī)(云計(jì)算平臺(tái))。下面就如何建立學(xué)校開(kāi)源云計(jì)算平臺(tái)做簡(jiǎn)要分析:
1 Hadoop簡(jiǎn)介
Hadoop 是一個(gè)用Java語(yǔ)言設(shè)計(jì)的開(kāi)放源碼框架,一般用來(lái)進(jìn)行大規(guī)模及超大規(guī)模的數(shù)據(jù)處理。它借鑒了goole公司的Google Labs開(kāi)發(fā)的 MapReduce和 Global File System (GFS) 技術(shù),由于具有高效、可靠和可伸縮的優(yōu)點(diǎn),它越來(lái)越流行了。Hadoop 現(xiàn)在是頂級(jí) Apache項(xiàng)目,IBM、Google、Yahoo!和Facebook等許多公司都支持和使用Hadoop,事實(shí)上它已經(jīng)成為大規(guī)模數(shù)據(jù)處理方面事實(shí)上的行業(yè)標(biāo)準(zhǔn)框架。他擁有靈活性、可擴(kuò)展、高吞吐量、低成本、高效率、高可靠性等特點(diǎn)。
2 搭建環(huán)境
2.1 硬件環(huán)境
本文搭建時(shí)使用本校學(xué)生用機(jī),所以參數(shù)為學(xué)校計(jì)算機(jī)的配置,hadoop云計(jì)算平臺(tái)對(duì)計(jì)算機(jī)要求很低,只要能運(yùn)行Linux系統(tǒng),都可以搭建。本文環(huán)境為:集群環(huán)境為8個(gè)節(jié)點(diǎn)組成,節(jié)點(diǎn)間由千兆網(wǎng)交換機(jī)互聯(lián),所有節(jié)點(diǎn)計(jì)算能力相同,每個(gè)節(jié)點(diǎn)內(nèi)存8g,cpu使用intel雙核cpu(2.8G),硬盤(pán)500G。
2.2 軟件環(huán)境
操作系統(tǒng):RHEL5.2。JDK版本:1.6_19,Hadoop版本:Hadoop0.20.2,8
在搭建時(shí)需注意:節(jié)點(diǎn)中用一節(jié)點(diǎn)作為JobTracker,其余節(jié)點(diǎn)用作TaskTracker,JobTracker節(jié)點(diǎn)也是本集群的NameNode節(jié)點(diǎn)。
3 搭建步驟
由于Linux系統(tǒng)的安裝比較簡(jiǎn)單,本位省略了RHEL5在計(jì)算機(jī)上的安裝,平臺(tái)搭建步驟如下:
1)每臺(tái)主機(jī)配置IP地址,并修改每臺(tái)主機(jī)配置文件/etc/hosts如下:
其中hadoop1是Name Node節(jié)點(diǎn),也是JobTracker節(jié)點(diǎn)。
2)創(chuàng)建ssh密鑰
在Hadoop啟動(dòng)以后,Name node將使用SSH(Secure Shell)來(lái)啟動(dòng)和停止各個(gè)節(jié)點(diǎn)上的各種守護(hù)進(jìn)程的,這就需要Name Node節(jié)點(diǎn)在不輸入用戶(hù)名和密碼的方式登錄各個(gè)節(jié)點(diǎn)。首先要保證每個(gè)節(jié)點(diǎn)都安裝了OpenSSH軟件。步驟如下:
① 在NameNode節(jié)點(diǎn)上生成密鑰對(duì):
[root@hadoop1 ~]# ssh-keygen -t rsa
這個(gè)命令將為 hadoop1上的當(dāng)前用戶(hù) root 生成其密鑰對(duì),密鑰對(duì)的保存路徑使用缺省的 /root/.ssh/id_rsa,注意: 要求輸入passphrase 的時(shí)候,直接回車(chē)。這樣生成的證書(shū)以及公鑰將存儲(chǔ)在 /root/.ssh 目錄,形成兩個(gè)文件 id_rsa,id_rsa.pub。
② 將 id_rsa.pub文件的內(nèi)容復(fù)制到每一臺(tái)機(jī)器(包括hadoop1)的/root/.ssh/authorized_keys文件的尾部,如下圖2所示。
③ authorized_keys只對(duì)其所有者有讀寫(xiě)權(quán)限,其他人不允許有寫(xiě)的權(quán)限,否則SSH是不會(huì)工作,所以每臺(tái)主機(jī)都需要修改該文件的權(quán)限。
[root @hadoop2:.ssh]# chmod 640 authorized_keys
[root @hadoop3:.ssh]# chmod 640 authorized_keys
[root @hadoop4:.ssh]# chmod 640 authorized_keys
[root @hadoop5:.ssh]# chmod 640 authorized_keys
[root @hadoop6:.ssh]# chmod 640 authorized_keys
[root @hadoop7:.ssh]# chmod 640 authorized_keys
[root @hadoop8:.ssh]# chmod 640 authorized_keys
④ (本文hadoop根目錄為/hadoop-0.20.2)在namenode節(jié)點(diǎn)的/hadoop-0.20.2/conf/hadoop-env.sh文件中設(shè)置hadoop需要的環(huán)境變量,本文環(huán)境配置如下:
export JAVA_HOME=/jdk1.6.0_30
export HADOOP_HOME=/hadoop-0.20.2
export PATH=$PATH:HADOOP_HOME/bin
⑤ 修改namenode節(jié)點(diǎn)的/hadoop-0.20.2/conf/masters文件,該文件指明了系統(tǒng)中的namenode節(jié)點(diǎn)。配置如下:
hadoop1
⑥ 修改namenode節(jié)點(diǎn)的/hadoop-0.20.2/conf/slaves文件,該文件指明了系統(tǒng)中的datanode節(jié)點(diǎn),配置時(shí),每行代表一個(gè)datanode,本文在hadoop1上的/hadoop-0.20.2/conf/slaves文件中配置如下:
hadoop2
hadoop3
hadoop4
hadoop5
hadoop6
hadoop7
hadoop8
⑦ 編輯namenode節(jié)點(diǎn)/hadoop-0.20.2/conf/下的三個(gè)文件core-default.xml,hdfs-default.xml,
mapred-default.xml如下:
core-default.xml
……
hdfs-default.xml
……
mapred-default.xml
……
⑧ 將namenode節(jié)點(diǎn)/hadoop-0.20.2/conf下的配置文件部署到各個(gè)datanode節(jié)點(diǎn),命令如下:
[root@hadoop1:~]# scp -r/hadoop-0.20.2/conf hadoop2: /hadoop-0.20.2/conf
[root@hadoop1:~]# scp -r /hadoop-0.20.2/conf hadoop3: /hadoop-0.20.2/conf
[root@hadoop1:~]# scp -r /hadoop-0.20.2/conf hadoop4: /hadoop-0.20.2/conf
[root@hadoop1:~]# scp -r /hadoop-0.20.2/conf hadoop5: /hadoop-0.20.2/conf
[root@hadoop1:~]# scp -r /hadoop-0.20.2/conf hadoop6: /hadoop-0.20.2/conf
[root@hadoop1:~]# scp -r /hadoop-0.20.2/conf hadoop7: /hadoop-0.20.2/conf
[root@hadoop1:~]# scp -r /hadoop-0.20.2/conf hadoop8: /hadoop-0.20.2/conf
在啟動(dòng)Hadoop前,需要對(duì) Hadoop 的文件系統(tǒng) HDFS格式化,在Master節(jié)點(diǎn)上,進(jìn)入hadoop文件夾輸入命令:hadoop Namenode–format格式化文件系統(tǒng)。接下來(lái)啟動(dòng)Hadoop。此時(shí)運(yùn)行 start-all.sh就可以啟動(dòng)Hadoop。
至此,利用學(xué)校閑置資源的云計(jì)算平臺(tái)就搭建好了。
4 總結(jié)
本文對(duì)利用學(xué)校閑置資源建立Hadoop云計(jì)算平臺(tái)進(jìn)行了分析以及建立步驟的演示,其目的在于希望教學(xué)資源得到充分的利用,減少浪費(fèi)。
參考文獻(xiàn):
[1] 劉鵬主編.云計(jì)算 [M].2版.北京:電子工業(yè)出版社,2011.
[2] Hadoop學(xué)習(xí)總結(jié):HDFS簡(jiǎn)介[EB/OL]. http://www.cnblogs.com/forfuture1978/archive/2010/03/14/1685351,2010-3-14.
[3] Hadoop入門(mén)部署最佳實(shí)踐[EB/OL]. http://www.vanjor.org/blog,2011-8-14.