Hadoop云計算平臺搭建方案2.1參考模板_第1頁
Hadoop云計算平臺搭建方案2.1參考模板_第2頁
Hadoop云計算平臺搭建方案2.1參考模板_第3頁
Hadoop云計算平臺搭建方案2.1參考模板_第4頁
Hadoop云計算平臺搭建方案2.1參考模板_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、Hadoop云計算平臺搭建方案一、平臺搭建概述 1.1總體思路針對于電網(wǎng)企業(yè)在營銷服務領域展開的大數(shù)據(jù)分析處理,搭建Hadoop云計算平臺進行海量數(shù)據(jù)存儲,并作深層次加工、處理,挖掘出無法簡單直觀便可得到的新的模式,為電力企業(yè)的決策提供指導。平臺采用Hadoop-2.2.0作為海量數(shù)據(jù)存儲和分析工具,將其部署在4個物理計算機節(jié)點上,搭建Hadoop集群,其中1個節(jié)點作為master節(jié)點,其余3個作為slave節(jié)點。為了獲取更好的穩(wěn)定性,平臺搭建在Linux系統(tǒng)(ubuntu-14.04-desktop-i386)環(huán)境下。 1.2軟件列表軟件描述版本VMware Workstation虛擬化軟件

2、VMware Workstation 6408UbuntuLinux操作系統(tǒng)ubuntu-14.04-desktop-i386JDKJava的軟件開發(fā)工具包jdkl.8.0_20Hadoop開源的云計算基礎框架Hadoop-2.2.0HBase分布式數(shù)據(jù)存儲系統(tǒng)Hbase-0.96.2ZookeeperHadoop可靠協(xié)調(diào)系統(tǒng)Zookeeper-3.4.5Sqoop數(shù)據(jù)遷移工具Sqoop-平臺搭建總流程和節(jié)點信息一覽表在平臺搭建前,給出實現(xiàn)的總流程圖和節(jié)點信息一覽表,從而對平臺搭建過程和各節(jié)點信息有一個全局的認識,平臺搭建總流程如下圖所示。創(chuàng)建虛擬機maste

3、r,完成JDK、Hadoop等應用的安裝和配置對虛擬機master進行克隆,得到的虛擬機分別作為slave1、slave2和slave3完成Zookeeper、HBase等其它分布式服務的部署,搭建Hadoop集群運行并測試Hadoop集群系統(tǒng)1 / 25 各節(jié)點信息如下表所示:機器名IP地址用戶名充當角色master02hadoopJobTracker、Namenodeslave104hadoopTaskTracker、Datanodeslave205hadoopTaskTracker、Datanodeslave3172.19

4、.17.106hadoopTaskTracker、Datanode二、基礎平臺的搭建步驟此次大數(shù)據(jù)存儲和處理平臺的搭建,需要4臺物理節(jié)點來部署Hadoop平臺環(huán)境。我們使用虛擬機軟件VMware Workstation創(chuàng)建4臺虛擬機,承載平臺搭建工作。另外,由于對4臺虛擬機的配置大部分是相同的,所以利用VMware Workstation的克隆功能,可以減少部署的工作量。2.1安裝虛擬機軟件VMware Workstation首先在4臺PC機器上均安裝虛擬化軟件VMware Workstation,并輸入相應的序列號。2.2在master節(jié)點上安裝Linux系統(tǒng)Ubuntu在設定為master

5、 PC節(jié)點上首先安裝Linux系統(tǒng)(版本為ubuntu-11.04-desktop-i386),在安裝過程中為提高后期安裝軟件的兼容性和穩(wěn)定性,在系統(tǒng)語言上選擇英語。創(chuàng)建用戶名為“hadoop”的普通用戶,設置統(tǒng)一的密碼。安裝完成后將系統(tǒng)的terminal命令窗口調(diào)出來,以便使用。同時,為實現(xiàn)虛擬機的Ubuntu系統(tǒng)與本機的Windows系統(tǒng)之間方便快捷的文字復制粘貼以及物理主機系統(tǒng)與虛擬機系統(tǒng)相互拖放文件進行共享,需要安裝VMare Tools工具,具體操作如下:啟動虛擬機,進入Ubuntu系統(tǒng),在VM菜單欄“虛擬機(M)”的下拉菜單點擊“安裝VMare Tools(T)”后,會彈出一個“V

6、Mare Tools”文件夾,里面包含VMare Tools的安裝包VMwareTools-9.6.2-1688356.tar.gz,將該安裝包拷貝到/home/hadoop目錄下,輸入命令進行解壓安裝:tar xzvf VMwareTools-9.6.2-1688356.tar.gz此時在/home/hadoop/目錄下產(chǎn)生vmware-tools-distrib文件夾,進入該目錄,通過在terminal終端輸入相應命令,運行vmware-install.pl腳本:cd /home/hadoop/vmware-tools-distrib /進入目錄sudo ./ vmware-install

7、.pl /執(zhí)行vmware-install.pl腳本按提示多次“回車”直至顯示安裝成功的信息,再重啟系統(tǒng)即可。在完成上述操作后,為保障Hadoop集群各節(jié)點之間的無障礙通信,需關(guān)閉系統(tǒng)防火墻。在重啟系統(tǒng)后,在terminal終端輸入命令:sudo ufw disable當顯示“Firewall stopped and disable on system startup”時表示防火墻已關(guān)閉,若后續(xù)服務部署過程中機器重啟無法實現(xiàn)節(jié)點之間的相互通信,可嘗試檢查防火墻是否關(guān)閉。2.3 master節(jié)點的JDK安裝與配置由于Hadoop底層實現(xiàn)是用JAVA語言編寫的,因此它的運行離不開JAVA運行環(huán)境(

8、JRE)的支持,這就需要JDK。JDK有多個更新版本,安裝過程大致相同,這里選擇安裝最近更新的版本jdkl.8.0_20。先將安裝文件jdk-8u20-linux-i586.gz拷貝到master節(jié)點的目錄/home/hadoop/下,在終端輸入命令:tar xzvf jdk-8u20-linux-i586.gz進行解壓安裝,此時會產(chǎn)生文件夾“jdk1.8.0_20”,所得的JDK安裝路徑為“/home/hadoop/jdk1.8.0_20”。安裝結(jié)束后打開/etc/profile文件,配置JDK的class path:在terminal終端鍵入命令:sudo gedit /etc/profi

9、le打開profile文件,在文件末尾加上以下語句:#set java environmentexport JAVA_HOME=/home/hadoop/jdk1.8.0_20export JRE_HOME=/home/hadoop/jdk1.8.0_20/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH / /home/hadoop/是hadoop文件夾所在路徑,不可照抄,要以實際路徑為準保存之后,在terminal終端輸入命令

10、:source /etc/profile使其生效。并鍵入命令java version查看是否配置成功,若出現(xiàn)如下信息,則表示java環(huán)境變量配置成功。java version "1.8.0_20"Java(TM) SE Runtime Environment (build 1.8.0_20-b26)Java HotSpot(TM) Client VM (build 25.20-b23, mixed mode)注:以上灰色背景標注的文字表示的Linux命令,紅色字體顏色標注的文本表示的需要寫入的Hadoop環(huán)境配置文件中的信息,綠色字體顏色標注的小5號文本表示注釋,下同2.4

11、 master節(jié)點的hadoop安裝與配置Hadoop的安裝是Hadoop平臺搭建的關(guān)鍵步驟,將從下載的安裝包hadoop-2.2.0.tar.gz拷貝到master節(jié)點目錄/home/hadoop/下,進行解壓安裝,輸入命令:tar xzvf hadoop-2.2.0.tar.gz安裝完成后配置環(huán)境變量:在系統(tǒng)文件/etc/profile以及Hadoop的安裝目錄/home/hadoop/hadoop-2.2.0文件夾下的多個文件添加相應的配置信息。2.4.1 添加環(huán)境變量打開/etc/profile文件,在terminal終端鍵入命令:sudo

12、 gedit /etc/profile調(diào)出profile文件,在文件末尾加上:# set hadoop environmentexport HADOOP_HOME=/home/hadoop/hadoop-2.2.0export PATH=$HADOOP_HOME/bin:$PATHexport PATH=$HADOOP_HOME/sbin:$PATH然后保存,在終端鍵入命令source /etc/profile使其生效。異常處理1:問題:保存添加的環(huán)境變量并使其生效后,terminal可能會出現(xiàn)如下警告:(gedit:2949): Gtk-WARNING *: Attempting to se

13、t the permissions of /root/.local/share/recently-used.xbel', but failed: No such file or directory(gedit:2949): Gtk-WARNING *: Attempting to store changes into /root/.local/share/recently-used.xbel', but failed: Failed to create file '/root/.local/share/recently-used.xbel.MN6R3V': No

14、 such file or directory(gedit:2949): Gtk-WARNING *: Attempting to set the permissions of /root/.local/share/recently-used.xbel', but failed: No such file or directory解決方法:只需直接在終端中輸入命令:sudo mkdir -p /root/.local/share/ ,創(chuàng)建警告信息中所提示的目錄即可。若無視警告重啟ubuntu后將會出現(xiàn)以下情況:輸入密碼無法進入系統(tǒng),一直處于輸入密

15、碼后又跳轉(zhuǎn)回輸入密碼的界面。此時的解決方法是:在輸入密碼界面同時按下alt+ctrl+F2進入ubuntu命令模式,并使用root用戶及對應密碼登陸系統(tǒng),然后鍵入:/usr/bin/vi /etc/profile打開etc/profile文件,找到最近在末尾加上的hadoop配置文件,按delete鍵刪除這些行,然后鍵入命令:wq?。ㄗ⒁獯颂幱忻疤?,不可省略)保存文件。然后同時按下ctrl+alt+del重啟系統(tǒng)即可使系統(tǒng)恢復正常登陸,然后按照上述方法重新配置。2.4.2 目錄設置在普通用戶hadoop下創(chuàng)建hadoop的數(shù)據(jù)存儲目錄(若使用root用戶創(chuàng)建上述文件夾則會因權(quán)限問題導致無法向這

16、些文件夾中寫入并讀取數(shù)據(jù)),可自行選擇數(shù)據(jù)存儲的路徑,我們選擇在/home/hadoop/文件夾下創(chuàng)建dfs和tmp作為數(shù)據(jù)存儲與交換的目錄,并在dfs文件夾下創(chuàng)建name和data兩個子文件夾。分別執(zhí)行命令:mkdir /home/hadoop/dfs/name /創(chuàng)建/home/hadoop/下dfs的子文件夾namemkdir /home/hadoop/dfs/data /創(chuàng)建/home/hadoop/下dfs的子文件夾datamkdir /home/hadoop/tmp /創(chuàng)建/home/hadoop/tmp2.4.3 /home/hadoop/hadoop-2.2.0/etc/had

17、oop下配置文件的修改接下來在/home/hadoop/hadoop-2.2.0/etc/hadoop目錄下需要修改以下文件的內(nèi)容: 在slaves文件下分別寫入三個slave節(jié)點的名稱,完成節(jié)點信息配置,并分別通過對hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、yarn-env.sh等文件分別進行Hadoop核心文件配置、HDFS配置、Mapreduce配置和Yarn配置。對/home/hadoop/hadoop-2.2.0/etc/hadoop文件夾下的幾個文件做一定的修改,配置每個文件時先單

18、擊文件右鍵,選擇“open with text editor”方式打開,按照以下方式修改,需要配置的文件如下:(1)配置hadoop-env.sh文件,打開該文件,檢索 “#export JAVA_HOME=$JAVA_HOME”文本,在該語句的下一行添加: export JAVA_HOME=/home/hadoop/jdk1.8.0_20這樣配置的目的是為Hadoop的守護進程設置環(huán)境變量,讓Hadoop能夠獲取到JDK服務的支持。(2)配置slaves文件,打開該文件,將其內(nèi)容修改為slave1、slave2、slave3。文件名打開后,將其內(nèi)容修改為:slavesslave1slave2

19、slave3(3)配置core-site.xml文件,打開該文件,在文件末尾添加以下語句。文件名打開文件后,在其末尾添加語句:core-site.xml<configuration> <property> <name>fs.defaultFS</name> <value>hdfs:/02:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>13

20、1072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property><property> <name>xyuser.tan.hosts</na

21、me> <value>*</value> </property> <property> <name>xyuser.tan.groups</name> <value>*</value> </property></configuration>(4)配置hdfs-site.xml文件,打開該文件,在文件末尾添加以下語句。文件名打開文件后,在其末尾添加語句:hdfs-site.xml<configuration><property>

22、<name>node.secondary.http-address</name> <value>02:9001</value> </property> <property> <name>.dir</name> <value>file:/home/hadoop/dfs/name</value> </property> <property> <name>dfs.datano

23、de.data.dir</name> <value>file:/home/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>4</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> <

24、/property></configuration>注意:需要在hdfs-site.xml中配置dfs.replication屬性時,dfs.replication屬性指定HDFS中文件塊復制的份數(shù),其默認值為3,當datanode節(jié)點少于3臺便會報錯。在一般情況下,當其屬性值為3的時候,HDFS的部署策略是在本地機柜中一個節(jié)點放置一個備份,在本地機柜的不同結(jié)點再放置一個備份,然后再在另一個機柜中的一個結(jié)點放置一個備份 。(5)配置mapred-site.xml文件。事實上在進行配置之前,mapred-site.xml文件默認并不存在,需要首先將該目錄下的mapred-sit

25、e.xml.template文件進行復制,并重命名為mapred-site.xml,接下來打開mapred-site.xml,添加以下語句。文件名打開文件后,在其末尾添加語句:mapred-site.xml<configuration><property> <name></name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address&l

26、t;/name> <value>02:10020</value> </property> <property><name>mapreduce.jobhistory.webapp.address</name> <value>02:19888</value> </property></configuration>(6)配置yarn-site.xml文件,打開該文件,在文件末尾添加以下語句。文件名打開文件后,在其末尾添加語句:yar

27、n-site.xml</configuration><!- Site specific YARN configuration properties -><property> <name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.cla

28、ss</name><value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>02:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.addre

29、ss</name> <value>02:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>02:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</

30、name> <value>02:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>02:8088</value> </property></configuration>(7)配置yarn-env.sh文件,打開該文件,檢索“# export JAVA_HOME=/home/y/libexec/j

31、dk1.6.0/”語句,在該語句下一行添加: export JAVA_HOME=/home/hadoop/jdk1.8.0_20通過對上述文件的修改,完成對Hadoop的配置。事實上,配置過程并不復雜,一般而言,除了規(guī)定的端口、IP地址、文件的存儲位置外,其他配置都不是必須修改的,可以根據(jù)需要決定是采用默認配置還是自行修改。還有一點需要注意的是以上配置都被默認為最終參數(shù),這些參數(shù)都不可以在程序中被再次修改。2.5 Hadoop集群的部署與各節(jié)點的通信2.5.1 安裝SSH服務通過建立SSH無密碼互訪,可以實現(xiàn)Hadoop虛擬機群之間的無密碼登錄互訪。在安裝SSH服務之前,首先需要更新軟件源,并

32、保證每臺機器上都安裝了SSH服務器,且都能正常啟動。更新軟件源命令為:sudo apt-get update軟件源更新完畢后,在terminal輸入如下命令開始安裝openssh-server:sudo apt-get install openssh-server輸入如下命令,檢查openssh-server是否成功安裝:which ssh如顯示/usr/bin/ssh表示ssh安裝成功which sshd如顯示/usr/bin/sshd表示sshd安裝成功如果以上二者都成功顯示,表示open-server安裝成功2.5.2 克隆虛擬機作為Slave節(jié)點將上面配置好的虛擬機作為master,關(guān)

33、閉作為master的ubuntu系統(tǒng),然后修改虛擬機的網(wǎng)絡連接設置,改為“橋接模式”,即在master虛擬機主界面點擊“虛擬機設置硬件網(wǎng)絡適配器”,在彈出的對話的“網(wǎng)絡連接”項目下選擇“橋接模式(B)”此舉的目的在于使主節(jié)點和各從節(jié)點都能連上網(wǎng)絡,從而使各臺機器之間能夠互訪。接下來對master進行克隆,得到slave1、slave2、slave3的雛形,即點擊VM菜單下的“虛擬機管理克隆”,進入克隆虛擬機的向?qū)Ы缑?,根?jù)向?qū)崾?,在“克隆類型”引導界面選擇“創(chuàng)建完整克隆”,具體設置如下圖所示:然后輸入被克隆的虛擬機名稱,先暫輸入slave1,點擊確認進行克隆,將克隆好的系統(tǒng)復制到除maste

34、r之外的三臺PC節(jié)點上,用虛擬機VMware識別并將其啟動,并在虛擬機啟動界面點擊“虛擬機設置選項常規(guī)”設置中,分別修改虛擬機名稱為slave1、slave2和 slave3,如下圖所示。2.5.3 設置IP地址在Hadoop平臺上,各個節(jié)點之間的互訪是基于TCP/IP協(xié)議的,所以要為各個節(jié)點分配IP地址。在四個PC節(jié)點上,點擊桌面右上角從左到右的第一個數(shù)據(jù)連接圖標在下拉菜單中選擇最后一項“Edit Connections”在彈出的“Network Connections”框中選擇“Edit”,顯示“Editing Ethernet connection1”框,點擊“IPv4Settings”

35、將彈出的Method選擇框設置為Manual,然后添加IP地址。添加同一網(wǎng)關(guān)內(nèi)的IP地址、子網(wǎng)掩碼、默認網(wǎng)關(guān),目的是讓各個節(jié)點機器能夠互訪。需要注意的是在設置IP地址時,需要首先在DNS servers輸入相應的IP地址,否則無法填寫“Addresses”項內(nèi)容。因此,我們將DNS服務器(DNS servers)地址設置為:66,接下來將master節(jié)點的IP地址(Address)設置為:02,子網(wǎng)掩碼(Netmask)設置為:,默認網(wǎng)關(guān)(Gateway)設置為:。用同樣的方法,將虛擬機salve1的

36、IP地址設置為:66(DNS服務器);04(IP地址);(子網(wǎng)掩碼);(網(wǎng)關(guān)),將slave2的IP地址設置為:66(DNS服務器);05(IP地址);(子網(wǎng)掩碼);(網(wǎng)關(guān)),將slave3的IP地址設置為:66(DNS服務器);06(IP地址);(子網(wǎng)掩碼);(網(wǎng)關(guān))。2.5.4 修改機器名通過克隆得到的ubunt

37、u系統(tǒng)有相同的機器名,所以要修改加載在各虛擬機中的系統(tǒng)名稱,來區(qū)分不同的節(jié)點,以便后期操作。在master機器上打開etc/hostname文件,命令為:sudo gedit /etc/hostname將etc/hostname文件內(nèi)容修改為master用同樣的方法分別在剛剛克隆得到的slave1、slave2和slave3上,修改其機器名:將slave1的機器名修改為slave1將slave2的機器名修改為slave2將slave3的機器名修改為slave32.5.5修改hosts文件通過修改hosts文件可以實現(xiàn)機器名和IP地址之間的映射,在master節(jié)點上,打開文件/etc/hosts

38、,命令為:sudo gedit /etc/hosts將/etc/hosts文件修改為02 master04 slave105 slave2 06 slave3用同樣的方法,在slave1、 slave2和slave3機器上修改如上hosts文件,映射配置與master一致。配置完成后重啟master和slave1、 slave2和slave3使其生效。2.5.6 建立SSH無密碼互訪通過建立SSH無密碼互訪,可以實現(xiàn)Hadoop虛擬機集群之間的無密碼登陸互訪。首先在4臺機器上均生成秘鑰對,并將slave1、

39、slave2和slave3分別所生成的公鑰id_rsa.pub進行重命名后發(fā)送到master機器上,由master將自身所生成的公鑰與其它三臺slave節(jié)點發(fā)送過來的公鑰合并到一個文件中,重新分發(fā)給三臺slave節(jié)點。對于不同的機器執(zhí)行對應的操作如下:(1)master生成密鑰對ssh-keygen -t rsa / 按提示直接回車此時,在目錄/home/hadoop/.ssh/(隱藏的文件夾)下生成兩個文件id_rsa 和 id_rsa.pub(2)slave1生成密鑰對,重命名公鑰,并將其發(fā)送到maser在終端terminal輸入如下命令:ssh-keygen -t rsa / 按提示直接

40、回車在目錄/home/hadoop/.ssh/(隱藏的文件夾)下生成兩個文件id_rsa 和 id_rsa.pub,并重命名公鑰 id_rsa.pub為id_rsa_slave1.pub,執(zhí)行命令:scp /.ssh/id_rsa_slave1.pub將重命名后的文件都復制到master機,命令如下:scp /.ssh/id_rsa_slave1.pub hadoopmaster:/home/hadoop/.ssh/(3)slave2生成密鑰對,重命名公鑰,并將其發(fā)送到maserslave2執(zhí)行與slave1類似的命令:ssh-keygen -t rsa / 按提示直接回車mv id_rsa.

41、pub id_rsa_slave2.pub scp /.ssh/id_rsa_slave2.pub hadoopmaster:/home/hadoop/.ssh/(4)slave3生成密鑰對,重命名公鑰,并將其發(fā)送到maserslave3也執(zhí)行與slave1類似的操作:ssh-keygen -t rsa / 按提示直接回車mv id_rsa.pub id_rsa_slave3.pub scp /.ssh/id_rsa_slave3.pub hadoopmaster:/home/hadoop/.ssh/(5)master合并公鑰,重新分發(fā)給各slave節(jié)點在master機器的/home/hado

42、op/.ssh/文件夾中重命名秘鑰文件,命令如下:mv id_rsa.pub authorized_keys 然后把每臺slave機器發(fā)過來的文件合并到authorized_keys,命令如下:cat id_rsa_slave1.pub >> authorized_keys cat id_rsa_slave2.pub >> authorized_keyscat id_rsa_slave3.pub >> authorized_keys最后把合成的authorized_keys發(fā)給每臺slave機器:scp authorized_keys hadoopslave

43、1:/home/hadoop/.ssh/authorized_keysscp authorized_keys hadoopslave2:/home/hadoop/.ssh/authorized_keysscp authorized_keys hadoopslave3:/home/hadoop/.ssh/authorized_keys(6)節(jié)點間無密碼互訪測試在任意機器上輸入命令訪問另一臺機器,命令如下:ssh slave1如果返回 ”Agent admitted failure to sign using the key“,不能連接到slave1,此時可輸入命令:ssh-agent使ssh-a

44、gent處于運行狀態(tài)。再將id_rsa添加到ssh-agent中,命令為:ssh-add id_rsa2.6啟動Hadoop2.6.1 啟動HDFS(1)初始化namenode在運行Hadoop平臺之前,要在master上格式化文件系統(tǒng),建立HDFS。切換至hadoop用戶,進入/home/hadoop/hadoop-2.2.0/bin,初始化Namenode,執(zhí)行命令如下:cd /home/hadoop/hadoop-2.2.0/binhdfs namenode format / 初始化namenode 格式化會產(chǎn)生多條信息,其中倒數(shù)第三行如果出現(xiàn):. Storage directory /

45、home/hadoop/hdfs/name has been successfully formatted,則說明格式化HDFS成功,初始化完成之后會自動的在/home/hdoop/hadoop-2.2.0/創(chuàng)建dfs/name/目錄。(2)測試啟動HDFS在hadoop用戶下,啟動namenode,執(zhí)行命令:hadoop-daemon.sh start namenode;啟動datanode,執(zhí)行命令:hadoop-daemon.sh start datanode。當namenode與datanode均啟動之后,可使用jps命令查看進程,命令如下: jps當同時看到下列進程時,標明hadoo

46、p正常運行:3588 NameNode3692 DataNode3757 Jps 如上述進程啟動過程正常,則可啟動HFS。在hadoop用戶下,切換至/home/hadoop/hadoop-2.2.0/sbin目錄下,執(zhí)行命令:cd /home/hadoop/hadoop-2.2.0/sbin執(zhí)行腳本./start-dfs.sh,啟動HDFS在上述目錄下執(zhí)行腳本文件start-dfs.sh,命令為:./start-dfs.sh,使用jps命令查看進程,終端顯示:4177 SecondaryNameNode3588 NameNode3692 DataNode4285 Jps其中master產(chǎn)生S

47、econdaryNameNode和NameNode進程,slave節(jié)點產(chǎn)生DataNode進程。2.6.2 啟動YARN在hadoop用戶下,切換至/home/hadoop/hadoop-2.2.0/sbin目錄下,執(zhí)行命令:cd /home/hadoop/hadoop-2.2.0/sbin執(zhí)行腳本./start-yarn.sh,啟動YARN在terminal終端輸入命令:./start-yarn.sh,執(zhí)行腳本文件start-yarn.sh,使用jps命令查看master節(jié)點進程時,終端顯示:4177 SecondaryNameNode4660 Jps3588 NameNode4411 Re

48、sourceManager3692 DataNode其中master產(chǎn)生ResourceManager、NameNode和SecondaryNameNode進程,同時輸入jps命令在slave節(jié)點進行進程查看時終端顯示:3329 DataNode3670 Jps3484 NodeManager可知slave節(jié)點上產(chǎn)生DataNode和NodeManager進程。異常處理2:問題:Hadoop啟動發(fā)生異常,有些進程不能被啟動。解決方法:執(zhí)行命令./stop-dfs.sh、./ stop-yarn.sh或直接執(zhí)行./ stop-all.sh命令關(guān)閉進程后,清空/home/hadoop/dfs和 /

49、home/hadoop/dfs文件夾中的數(shù)據(jù),并重新執(zhí)行格式化,命令如下:rm -rf /home/hadoop/dfs/rm -rf /home/hadoop/tmphdfs namenode format異常處理3:問題:slave 節(jié)點 DataNode 無法啟動。解決方法:a、系統(tǒng)防火墻沒有關(guān)閉:執(zhí)行命令sudo ufw disable關(guān)閉防火墻;b、所有節(jié)點 hosts 鏈表不統(tǒng)一,或有錯誤:重新檢查IP地址與機器名之間的對應關(guān)系,檢查hadoop的配置文件中是否發(fā)生IP地址的書寫錯誤;c、多次 format namenode 造成 namenode 和 datanode 的 clu

50、sterID 不一致:更改 slave Cluster ID 使 其與master 相同,修改每一個datanode 上面的CID(位于 home/hadoop/dfs/data/current/VERSION 文件夾中)使兩者一致;刪除所有節(jié)點/home/hadoop/dfs/data/下 curren目錄,重新運行腳本start-dfs.sh即可。 2.7 Hadoop平臺測試在Hadoop平臺搭建完成后,我們要對Hadoop平臺進行測試。在Hadoop的安裝目錄下,提供了一個單詞統(tǒng)計程序WordCount。WordCount程序運行于Hadoop計算平臺之上,充分利用了MapReduce

51、和HDFS。它可以對文件中單詞出現(xiàn)次數(shù)進行統(tǒng)計,然后給出統(tǒng)計結(jié)果。我們通過運行WordCount程序,可以檢測Hadoop平臺是否能夠正常運行。(1)在HDFS上建立相應的目錄和相應的文本文件在/home/hadoop/目錄下建立文件夾input,并進入文件夾input,執(zhí)行命令如下:mkdir /home/hadoop/inputcd /home/hadoop/input建立文件file01和file02,并分別寫入要統(tǒng)計的內(nèi)容,命令如下:echo "hello world bye world" > file01 / 寫內(nèi)容到文件file01中echo "

52、hello hadoop goodbye hadoop" >file02 / 寫內(nèi)容到文件file02中(2)在HDFS上建立文件夾input,將file01和file02上傳至hdfs的input文件夾,執(zhí)行命令如下:cd /home/hadoop/inputhadoop fs -mkdir input /創(chuàng)建HDFS的input文件夾hadoop fs -put * input/ /將/home/hadoop/input目錄下的文件上傳到HDFS的input文件夾hadoop fs -ls input /查看HDFS的input文件夾下文件的狀態(tài)當終端顯示:-rw-r-r-

53、 4 hadoop supergroup 22 2014-09-03 21:43 input/file01-rw-r-r- 4 hadoop supergroup 28 2014-09-03 21:43 input/file02則表示文件上傳到HDFS成功(3)運行WordCount程序進入目錄/home/hadoop/hadoop-2.2.0/share/hadoop/mapreduce,然后執(zhí)行WordCount程序,命令如下:cd /home/hadoop/hadoop-2.2.0/share/hadoop/mapreduce /進入目錄hadoop jar hadoop-mapredu

54、ce-examples-2.2.0.jar wordcount input output /執(zhí)行Wordcount程序終端會產(chǎn)生較多的系統(tǒng)運行信息,若顯示如下信息:14/09/09 04:56:18 INFO mapreduce.Job: map 0% reduce 0%14/09/09 04:56:29 INFO mapreduce.Job: map 100% reduce 0%14/09/09 04:56:38 INFO mapreduce.Job: map 100% reduce 100%14/09/09 04:56:38 INFO mapreduce.Job: Job job_1410

55、242637907_0001 completed successfully14/09/09 04:56:38 INFO mapreduce.Job: Counters: 43表明程序在運行過程中執(zhí)行mapreduce分布式編程模式。(4)程序的運行結(jié)果輸出WordCount程序運行完成后,統(tǒng)計的結(jié)果會輸出到HDFS的output 文件夾下的part-r-00000文件中。輸入以下命令可以查看單詞的統(tǒng)計結(jié)果:hadoop fs -cat output/part-r-00000在terminal終端顯示的輸出結(jié)果為:bye 1goodbye1hadoop2hello 2world2從結(jié)果中可以看到

56、,Hadoop集群能夠成功地將文件file01和file02中各單詞出現(xiàn)的次數(shù)統(tǒng)計出來,說明Hadoop平臺能夠成功運行。三、其它各分布式服務的安裝和配置3.1 Zookeeper的安裝與配置Zookeeper是一個分布式開源框架,提供了協(xié)調(diào)分布式應用的基本服務,它向外部應用暴露一組通用服務分布式同步、命名服務、集群維護等,簡化分布式應用協(xié)調(diào)及其管理的難度,提供高性能的分布式服務。同時,分布式運行的HBase(Hadoop分布式數(shù)據(jù)庫)離不開Hadoop協(xié)調(diào)工作系統(tǒng)Zookeeper的支持,事實上,HBase本身內(nèi)置Zookeeper,但由于自帶Zookeepke的 HBase重啟時會順帶重啟

57、Zookeeper,致使其它依賴Zookeeper的組件無法正常工作。因此需要安裝與HBase內(nèi)置的版本一致的Zookeeper。3.1.1 Zookeeper的解壓安裝將下載好的安裝包zookeeper-3.4.5.tar.gz拷貝到master節(jié)點目錄/home/hadoop/下,輸入命令:tar xzvf zookeeper-3.4.5.tar.gz,進行解壓安裝,此時會產(chǎn)生文件夾“zookeeper-3.4.5”。安裝完成后配置環(huán)境變量:在系統(tǒng)目錄文件/etc/profile以及zookeeper的安裝目錄/home/hadoop/ zookeeper-3.4.5/conf文件夾下的多個文件添加相應的配置信息。3.1.2 添加環(huán)境變量打開/etc/profile文件,在terminal終端鍵入命令:sudo gedit /etc/profile調(diào)出profile文件,在文件末尾加上:# set zookeeper environmentexport ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.5export PATH=$ZOOKEEPER_HOME/bin:$ZOOKEEPER_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論