




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Hadoop云計(jì)算平臺(tái)搭建方案一、平臺(tái)搭建概述 1.1總體思路針對(duì)于電網(wǎng)企業(yè)在營(yíng)銷(xiāo)服務(wù)領(lǐng)域展開(kāi)的大數(shù)據(jù)分析處理,搭建Hadoop云計(jì)算平臺(tái)進(jìn)行海量數(shù)據(jù)存儲(chǔ),并作深層次加工、處理,挖掘出無(wú)法簡(jiǎn)單直觀便可得到的新的模式,為電力企業(yè)的決策提供指導(dǎo)。平臺(tái)采用Hadoop-2.2.0作為海量數(shù)據(jù)存儲(chǔ)和分析工具,將其部署在4個(gè)物理計(jì)算機(jī)節(jié)點(diǎn)上,搭建Hadoop集群,其中1個(gè)節(jié)點(diǎn)作為master節(jié)點(diǎn),其余3個(gè)作為slave節(jié)點(diǎn)。為了獲取更好的穩(wěn)定性,平臺(tái)搭建在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的軟件開(kāi)發(fā)工具包jdkl.8.0_20Hadoop開(kāi)源的云計(jì)算基礎(chǔ)框架Hadoop-2.2.0HBase分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)Hbase-0.96.2ZookeeperHadoop可靠協(xié)調(diào)系統(tǒng)Zookeeper-3.4.5Sqoop數(shù)據(jù)遷移工具Sqoop-平臺(tái)搭建總流程和節(jié)點(diǎn)信息一覽表在平臺(tái)搭建前,給出實(shí)現(xiàn)的總流程圖和節(jié)點(diǎn)信息一覽表,從而對(duì)平臺(tái)搭建過(guò)程和各節(jié)點(diǎn)信息有一個(gè)全局的認(rèn)識(shí),平臺(tái)搭建總流程如下圖所示。創(chuàng)建虛擬機(jī)maste
3、r,完成JDK、Hadoop等應(yīng)用的安裝和配置對(duì)虛擬機(jī)master進(jìn)行克隆,得到的虛擬機(jī)分別作為slave1、slave2和slave3完成Zookeeper、HBase等其它分布式服務(wù)的部署,搭建Hadoop集群運(yùn)行并測(cè)試Hadoop集群系統(tǒng)1 / 25 各節(jié)點(diǎn)信息如下表所示:機(jī)器名IP地址用戶(hù)名充當(dāng)角色master02hadoopJobTracker、Namenodeslave104hadoopTaskTracker、Datanodeslave205hadoopTaskTracker、Datanodeslave3172.19
4、.17.106hadoopTaskTracker、Datanode二、基礎(chǔ)平臺(tái)的搭建步驟此次大數(shù)據(jù)存儲(chǔ)和處理平臺(tái)的搭建,需要4臺(tái)物理節(jié)點(diǎn)來(lái)部署Hadoop平臺(tái)環(huán)境。我們使用虛擬機(jī)軟件VMware Workstation創(chuàng)建4臺(tái)虛擬機(jī),承載平臺(tái)搭建工作。另外,由于對(duì)4臺(tái)虛擬機(jī)的配置大部分是相同的,所以利用VMware Workstation的克隆功能,可以減少部署的工作量。2.1安裝虛擬機(jī)軟件VMware Workstation首先在4臺(tái)PC機(jī)器上均安裝虛擬化軟件VMware Workstation,并輸入相應(yīng)的序列號(hào)。2.2在master節(jié)點(diǎn)上安裝Linux系統(tǒng)Ubuntu在設(shè)定為master
5、 PC節(jié)點(diǎn)上首先安裝Linux系統(tǒng)(版本為ubuntu-11.04-desktop-i386),在安裝過(guò)程中為提高后期安裝軟件的兼容性和穩(wěn)定性,在系統(tǒng)語(yǔ)言上選擇英語(yǔ)。創(chuàng)建用戶(hù)名為“hadoop”的普通用戶(hù),設(shè)置統(tǒng)一的密碼。安裝完成后將系統(tǒng)的terminal命令窗口調(diào)出來(lái),以便使用。同時(shí),為實(shí)現(xiàn)虛擬機(jī)的Ubuntu系統(tǒng)與本機(jī)的Windows系統(tǒng)之間方便快捷的文字復(fù)制粘貼以及物理主機(jī)系統(tǒng)與虛擬機(jī)系統(tǒng)相互拖放文件進(jìn)行共享,需要安裝VMare Tools工具,具體操作如下:?jiǎn)?dòng)虛擬機(jī),進(jìn)入U(xiǎn)buntu系統(tǒng),在VM菜單欄“虛擬機(jī)(M)”的下拉菜單點(diǎn)擊“安裝VMare Tools(T)”后,會(huì)彈出一個(gè)“V
6、Mare Tools”文件夾,里面包含VMare Tools的安裝包VMwareTools-9.6.2-1688356.tar.gz,將該安裝包拷貝到/home/hadoop目錄下,輸入命令進(jìn)行解壓安裝:tar xzvf VMwareTools-9.6.2-1688356.tar.gz此時(shí)在/home/hadoop/目錄下產(chǎn)生vmware-tools-distrib文件夾,進(jìn)入該目錄,通過(guò)在terminal終端輸入相應(yīng)命令,運(yùn)行vmware-install.pl腳本:cd /home/hadoop/vmware-tools-distrib /進(jìn)入目錄sudo ./ vmware-install
7、.pl /執(zhí)行vmware-install.pl腳本按提示多次“回車(chē)”直至顯示安裝成功的信息,再重啟系統(tǒng)即可。在完成上述操作后,為保障Hadoop集群各節(jié)點(diǎn)之間的無(wú)障礙通信,需關(guān)閉系統(tǒng)防火墻。在重啟系統(tǒng)后,在terminal終端輸入命令:sudo ufw disable當(dāng)顯示“Firewall stopped and disable on system startup”時(shí)表示防火墻已關(guān)閉,若后續(xù)服務(wù)部署過(guò)程中機(jī)器重啟無(wú)法實(shí)現(xiàn)節(jié)點(diǎn)之間的相互通信,可嘗試檢查防火墻是否關(guān)閉。2.3 master節(jié)點(diǎn)的JDK安裝與配置由于Hadoop底層實(shí)現(xiàn)是用JAVA語(yǔ)言編寫(xiě)的,因此它的運(yùn)行離不開(kāi)JAVA運(yùn)行環(huán)境(
8、JRE)的支持,這就需要JDK。JDK有多個(gè)更新版本,安裝過(guò)程大致相同,這里選擇安裝最近更新的版本jdkl.8.0_20。先將安裝文件jdk-8u20-linux-i586.gz拷貝到master節(jié)點(diǎn)的目錄/home/hadoop/下,在終端輸入命令:tar xzvf jdk-8u20-linux-i586.gz進(jìn)行解壓安裝,此時(shí)會(huì)產(chǎn)生文件夾“jdk1.8.0_20”,所得的JDK安裝路徑為“/home/hadoop/jdk1.8.0_20”。安裝結(jié)束后打開(kāi)/etc/profile文件,配置JDK的class path:在terminal終端鍵入命令:sudo gedit /etc/profi
9、le打開(kāi)profile文件,在文件末尾加上以下語(yǔ)句:#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文件夾所在路徑,不可照抄,要以實(shí)際路徑為準(zhǔn)保存之后,在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)注:以上灰色背景標(biāo)注的文字表示的Linux命令,紅色字體顏色標(biāo)注的文本表示的需要寫(xiě)入的Hadoop環(huán)境配置文件中的信息,綠色字體顏色標(biāo)注的小5號(hào)文本表示注釋?zhuān)峦?.4
11、 master節(jié)點(diǎn)的hadoop安裝與配置Hadoop的安裝是Hadoop平臺(tái)搭建的關(guān)鍵步驟,將從下載的安裝包hadoop-2.2.0.tar.gz拷貝到master節(jié)點(diǎn)目錄/home/hadoop/下,進(jìn)行解壓安裝,輸入命令:tar xzvf hadoop-2.2.0.tar.gz安裝完成后配置環(huán)境變量:在系統(tǒng)文件/etc/profile以及Hadoop的安裝目錄/home/hadoop/hadoop-2.2.0文件夾下的多個(gè)文件添加相應(yīng)的配置信息。2.4.1 添加環(huán)境變量打開(kāi)/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:?jiǎn)栴}:保存添加的環(huán)境變量并使其生效后,terminal可能會(huì)出現(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)建警告信息中所提示的目錄即可。若無(wú)視警告重啟ubuntu后將會(huì)出現(xiàn)以下情況:輸入密碼無(wú)法進(jìn)入系統(tǒng),一直處于輸入密
15、碼后又跳轉(zhuǎn)回輸入密碼的界面。此時(shí)的解決方法是:在輸入密碼界面同時(shí)按下alt+ctrl+F2進(jìn)入ubuntu命令模式,并使用root用戶(hù)及對(duì)應(yīng)密碼登陸系統(tǒng),然后鍵入:/usr/bin/vi /etc/profile打開(kāi)etc/profile文件,找到最近在末尾加上的hadoop配置文件,按delete鍵刪除這些行,然后鍵入命令:wq!(注意此處有冒號(hào),不可省略)保存文件。然后同時(shí)按下ctrl+alt+del重啟系統(tǒng)即可使系統(tǒng)恢復(fù)正常登陸,然后按照上述方法重新配置。2.4.2 目錄設(shè)置在普通用戶(hù)hadoop下創(chuàng)建hadoop的數(shù)據(jù)存儲(chǔ)目錄(若使用root用戶(hù)創(chuàng)建上述文件夾則會(huì)因權(quán)限問(wèn)題導(dǎo)致無(wú)法向這
16、些文件夾中寫(xiě)入并讀取數(shù)據(jù)),可自行選擇數(shù)據(jù)存儲(chǔ)的路徑,我們選擇在/home/hadoop/文件夾下創(chuàng)建dfs和tmp作為數(shù)據(jù)存儲(chǔ)與交換的目錄,并在dfs文件夾下創(chuàng)建name和data兩個(gè)子文件夾。分別執(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下配置文件的修改接下來(lái)在/home/hadoop/hadoop-2.2.0/etc/hadoop目錄下需要修改以下文件的內(nèi)容: 在slaves文件下分別寫(xiě)入三個(gè)slave節(jié)點(diǎn)的名稱(chēng),完成節(jié)點(diǎn)信息配置,并分別通過(guò)對(duì)hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、yarn-env.sh等文件分別進(jìn)行Hadoop核心文件配置、HDFS配置、Mapreduce配置和Yarn配置。對(duì)/home/hadoop/hadoop-2.2.0/etc/hadoop文件夾下的幾個(gè)文件做一定的修改,配置每個(gè)文件時(shí)先單
18、擊文件右鍵,選擇“open with text editor”方式打開(kāi),按照以下方式修改,需要配置的文件如下:(1)配置hadoop-env.sh文件,打開(kāi)該文件,檢索 “#export JAVA_HOME=$JAVA_HOME”文本,在該語(yǔ)句的下一行添加: export JAVA_HOME=/home/hadoop/jdk1.8.0_20這樣配置的目的是為Hadoop的守護(hù)進(jìn)程設(shè)置環(huán)境變量,讓Hadoop能夠獲取到JDK服務(wù)的支持。(2)配置slaves文件,打開(kāi)該文件,將其內(nèi)容修改為slave1、slave2、slave3。文件名打開(kāi)后,將其內(nèi)容修改為:slavesslave1slave2
19、slave3(3)配置core-site.xml文件,打開(kāi)該文件,在文件末尾添加以下語(yǔ)句。文件名打開(kāi)文件后,在其末尾添加語(yǔ)句: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文件,打開(kāi)該文件,在文件末尾添加以下語(yǔ)句。文件名打開(kāi)文件后,在其末尾添加語(yǔ)句: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屬性時(shí),dfs.replication屬性指定HDFS中文件塊復(fù)制的份數(shù),其默認(rèn)值為3,當(dāng)datanode節(jié)點(diǎn)少于3臺(tái)便會(huì)報(bào)錯(cuò)。在一般情況下,當(dāng)其屬性值為3的時(shí)候,HDFS的部署策略是在本地機(jī)柜中一個(gè)節(jié)點(diǎn)放置一個(gè)備份,在本地機(jī)柜的不同結(jié)點(diǎn)再放置一個(gè)備份,然后再在另一個(gè)機(jī)柜中的一個(gè)結(jié)點(diǎn)放置一個(gè)備份 。(5)配置mapred-site.xml文件。事實(shí)上在進(jìn)行配置之前,mapred-site.xml文件默認(rèn)并不存在,需要首先將該目錄下的mapred-sit
25、e.xml.template文件進(jìn)行復(fù)制,并重命名為mapred-site.xml,接下來(lái)打開(kāi)mapred-site.xml,添加以下語(yǔ)句。文件名打開(kāi)文件后,在其末尾添加語(yǔ)句: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文件,打開(kāi)該文件,在文件末尾添加以下語(yǔ)句。文件名打開(kāi)文件后,在其末尾添加語(yǔ)句: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文件,打開(kāi)該文件,檢索“# export JAVA_HOME=/home/y/libexec/j
31、dk1.6.0/”語(yǔ)句,在該語(yǔ)句下一行添加: export JAVA_HOME=/home/hadoop/jdk1.8.0_20通過(guò)對(duì)上述文件的修改,完成對(duì)Hadoop的配置。事實(shí)上,配置過(guò)程并不復(fù)雜,一般而言,除了規(guī)定的端口、IP地址、文件的存儲(chǔ)位置外,其他配置都不是必須修改的,可以根據(jù)需要決定是采用默認(rèn)配置還是自行修改。還有一點(diǎn)需要注意的是以上配置都被默認(rèn)為最終參數(shù),這些參數(shù)都不可以在程序中被再次修改。2.5 Hadoop集群的部署與各節(jié)點(diǎn)的通信2.5.1 安裝SSH服務(wù)通過(guò)建立SSH無(wú)密碼互訪,可以實(shí)現(xiàn)Hadoop虛擬機(jī)群之間的無(wú)密碼登錄互訪。在安裝SSH服務(wù)之前,首先需要更新軟件源,并
32、保證每臺(tái)機(jī)器上都安裝了SSH服務(wù)器,且都能正常啟動(dòng)。更新軟件源命令為:sudo apt-get update軟件源更新完畢后,在terminal輸入如下命令開(kāi)始安裝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 克隆虛擬機(jī)作為Slave節(jié)點(diǎn)將上面配置好的虛擬機(jī)作為master,關(guān)
33、閉作為master的ubuntu系統(tǒng),然后修改虛擬機(jī)的網(wǎng)絡(luò)連接設(shè)置,改為“橋接模式”,即在master虛擬機(jī)主界面點(diǎn)擊“虛擬機(jī)設(shè)置硬件網(wǎng)絡(luò)適配器”,在彈出的對(duì)話的“網(wǎng)絡(luò)連接”項(xiàng)目下選擇“橋接模式(B)”此舉的目的在于使主節(jié)點(diǎn)和各從節(jié)點(diǎn)都能連上網(wǎng)絡(luò),從而使各臺(tái)機(jī)器之間能夠互訪。接下來(lái)對(duì)master進(jìn)行克隆,得到slave1、slave2、slave3的雛形,即點(diǎn)擊VM菜單下的“虛擬機(jī)管理克隆”,進(jìn)入克隆虛擬機(jī)的向?qū)Ы缑?,根?jù)向?qū)崾荆凇翱寺☆?lèi)型”引導(dǎo)界面選擇“創(chuàng)建完整克隆”,具體設(shè)置如下圖所示:然后輸入被克隆的虛擬機(jī)名稱(chēng),先暫輸入slave1,點(diǎn)擊確認(rèn)進(jìn)行克隆,將克隆好的系統(tǒng)復(fù)制到除maste
34、r之外的三臺(tái)PC節(jié)點(diǎn)上,用虛擬機(jī)VMware識(shí)別并將其啟動(dòng),并在虛擬機(jī)啟動(dòng)界面點(diǎn)擊“虛擬機(jī)設(shè)置選項(xiàng)常規(guī)”設(shè)置中,分別修改虛擬機(jī)名稱(chēng)為slave1、slave2和 slave3,如下圖所示。2.5.3 設(shè)置IP地址在Hadoop平臺(tái)上,各個(gè)節(jié)點(diǎn)之間的互訪是基于TCP/IP協(xié)議的,所以要為各個(gè)節(jié)點(diǎn)分配IP地址。在四個(gè)PC節(jié)點(diǎn)上,點(diǎn)擊桌面右上角從左到右的第一個(gè)數(shù)據(jù)連接圖標(biāo)在下拉菜單中選擇最后一項(xiàng)“Edit Connections”在彈出的“Network Connections”框中選擇“Edit”,顯示“Editing Ethernet connection1”框,點(diǎn)擊“IPv4Settings”
35、將彈出的Method選擇框設(shè)置為Manual,然后添加IP地址。添加同一網(wǎng)關(guān)內(nèi)的IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān),目的是讓各個(gè)節(jié)點(diǎn)機(jī)器能夠互訪。需要注意的是在設(shè)置IP地址時(shí),需要首先在DNS servers輸入相應(yīng)的IP地址,否則無(wú)法填寫(xiě)“Addresses”項(xiàng)內(nèi)容。因此,我們將DNS服務(wù)器(DNS servers)地址設(shè)置為:66,接下來(lái)將master節(jié)點(diǎn)的IP地址(Address)設(shè)置為:02,子網(wǎng)掩碼(Netmask)設(shè)置為:,默認(rèn)網(wǎng)關(guān)(Gateway)設(shè)置為:。用同樣的方法,將虛擬機(jī)salve1的
36、IP地址設(shè)置為:66(DNS服務(wù)器);04(IP地址);(子網(wǎng)掩碼);(網(wǎng)關(guān)),將slave2的IP地址設(shè)置為:66(DNS服務(wù)器);05(IP地址);(子網(wǎng)掩碼);(網(wǎng)關(guān)),將slave3的IP地址設(shè)置為:66(DNS服務(wù)器);06(IP地址);(子網(wǎng)掩碼);(網(wǎng)關(guān))。2.5.4 修改機(jī)器名通過(guò)克隆得到的ubunt
37、u系統(tǒng)有相同的機(jī)器名,所以要修改加載在各虛擬機(jī)中的系統(tǒng)名稱(chēng),來(lái)區(qū)分不同的節(jié)點(diǎn),以便后期操作。在master機(jī)器上打開(kāi)etc/hostname文件,命令為:sudo gedit /etc/hostname將etc/hostname文件內(nèi)容修改為master用同樣的方法分別在剛剛克隆得到的slave1、slave2和slave3上,修改其機(jī)器名:將slave1的機(jī)器名修改為slave1將slave2的機(jī)器名修改為slave2將slave3的機(jī)器名修改為slave32.5.5修改hosts文件通過(guò)修改hosts文件可以實(shí)現(xiàn)機(jī)器名和IP地址之間的映射,在master節(jié)點(diǎn)上,打開(kāi)文件/etc/hosts
38、,命令為:sudo gedit /etc/hosts將/etc/hosts文件修改為02 master04 slave105 slave2 06 slave3用同樣的方法,在slave1、 slave2和slave3機(jī)器上修改如上hosts文件,映射配置與master一致。配置完成后重啟master和slave1、 slave2和slave3使其生效。2.5.6 建立SSH無(wú)密碼互訪通過(guò)建立SSH無(wú)密碼互訪,可以實(shí)現(xiàn)Hadoop虛擬機(jī)集群之間的無(wú)密碼登陸互訪。首先在4臺(tái)機(jī)器上均生成秘鑰對(duì),并將slave1、
39、slave2和slave3分別所生成的公鑰id_rsa.pub進(jìn)行重命名后發(fā)送到master機(jī)器上,由master將自身所生成的公鑰與其它三臺(tái)slave節(jié)點(diǎn)發(fā)送過(guò)來(lái)的公鑰合并到一個(gè)文件中,重新分發(fā)給三臺(tái)slave節(jié)點(diǎn)。對(duì)于不同的機(jī)器執(zhí)行對(duì)應(yīng)的操作如下:(1)master生成密鑰對(duì)ssh-keygen -t rsa / 按提示直接回車(chē)此時(shí),在目錄/home/hadoop/.ssh/(隱藏的文件夾)下生成兩個(gè)文件id_rsa 和 id_rsa.pub(2)slave1生成密鑰對(duì),重命名公鑰,并將其發(fā)送到maser在終端terminal輸入如下命令:ssh-keygen -t rsa / 按提示直接
40、回車(chē)在目錄/home/hadoop/.ssh/(隱藏的文件夾)下生成兩個(gè)文件id_rsa 和 id_rsa.pub,并重命名公鑰 id_rsa.pub為id_rsa_slave1.pub,執(zhí)行命令:scp /.ssh/id_rsa_slave1.pub將重命名后的文件都復(fù)制到master機(jī),命令如下:scp /.ssh/id_rsa_slave1.pub hadoopmaster:/home/hadoop/.ssh/(3)slave2生成密鑰對(duì),重命名公鑰,并將其發(fā)送到maserslave2執(zhí)行與slave1類(lèi)似的命令:ssh-keygen -t rsa / 按提示直接回車(chē)mv id_rsa.
41、pub id_rsa_slave2.pub scp /.ssh/id_rsa_slave2.pub hadoopmaster:/home/hadoop/.ssh/(4)slave3生成密鑰對(duì),重命名公鑰,并將其發(fā)送到maserslave3也執(zhí)行與slave1類(lèi)似的操作:ssh-keygen -t rsa / 按提示直接回車(chē)mv id_rsa.pub id_rsa_slave3.pub scp /.ssh/id_rsa_slave3.pub hadoopmaster:/home/hadoop/.ssh/(5)master合并公鑰,重新分發(fā)給各slave節(jié)點(diǎn)在master機(jī)器的/home/hado
42、op/.ssh/文件夾中重命名秘鑰文件,命令如下:mv id_rsa.pub authorized_keys 然后把每臺(tái)slave機(jī)器發(fā)過(guò)來(lái)的文件合并到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ā)給每臺(tái)slave機(jī)器: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é)點(diǎn)間無(wú)密碼互訪測(cè)試在任意機(jī)器上輸入命令訪問(wèn)另一臺(tái)機(jī)器,命令如下:ssh slave1如果返回 ”Agent admitted failure to sign using the key“,不能連接到slave1,此時(shí)可輸入命令:ssh-agent使ssh-a
44、gent處于運(yùn)行狀態(tài)。再將id_rsa添加到ssh-agent中,命令為:ssh-add id_rsa2.6啟動(dòng)Hadoop2.6.1 啟動(dòng)HDFS(1)初始化namenode在運(yùn)行Hadoop平臺(tái)之前,要在master上格式化文件系統(tǒng),建立HDFS。切換至hadoop用戶(hù),進(jìn)入/home/hadoop/hadoop-2.2.0/bin,初始化Namenode,執(zhí)行命令如下:cd /home/hadoop/hadoop-2.2.0/binhdfs namenode format / 初始化namenode 格式化會(huì)產(chǎn)生多條信息,其中倒數(shù)第三行如果出現(xiàn):. Storage directory /
45、home/hadoop/hdfs/name has been successfully formatted,則說(shuō)明格式化HDFS成功,初始化完成之后會(huì)自動(dòng)的在/home/hdoop/hadoop-2.2.0/創(chuàng)建dfs/name/目錄。(2)測(cè)試啟動(dòng)HDFS在hadoop用戶(hù)下,啟動(dòng)namenode,執(zhí)行命令:hadoop-daemon.sh start namenode;啟動(dòng)datanode,執(zhí)行命令:hadoop-daemon.sh start datanode。當(dāng)namenode與datanode均啟動(dòng)之后,可使用jps命令查看進(jìn)程,命令如下: jps當(dāng)同時(shí)看到下列進(jìn)程時(shí),標(biāo)明hadoo
46、p正常運(yùn)行:3588 NameNode3692 DataNode3757 Jps 如上述進(jìn)程啟動(dòng)過(guò)程正常,則可啟動(dòng)HFS。在hadoop用戶(hù)下,切換至/home/hadoop/hadoop-2.2.0/sbin目錄下,執(zhí)行命令:cd /home/hadoop/hadoop-2.2.0/sbin執(zhí)行腳本./start-dfs.sh,啟動(dòng)HDFS在上述目錄下執(zhí)行腳本文件start-dfs.sh,命令為:./start-dfs.sh,使用jps命令查看進(jìn)程,終端顯示:4177 SecondaryNameNode3588 NameNode3692 DataNode4285 Jps其中master產(chǎn)生S
47、econdaryNameNode和NameNode進(jìn)程,slave節(jié)點(diǎn)產(chǎn)生DataNode進(jìn)程。2.6.2 啟動(dòng)YARN在hadoop用戶(hù)下,切換至/home/hadoop/hadoop-2.2.0/sbin目錄下,執(zhí)行命令:cd /home/hadoop/hadoop-2.2.0/sbin執(zhí)行腳本./start-yarn.sh,啟動(dòng)YARN在terminal終端輸入命令:./start-yarn.sh,執(zhí)行腳本文件start-yarn.sh,使用jps命令查看master節(jié)點(diǎn)進(jìn)程時(shí),終端顯示:4177 SecondaryNameNode4660 Jps3588 NameNode4411 Re
48、sourceManager3692 DataNode其中master產(chǎn)生ResourceManager、NameNode和SecondaryNameNode進(jìn)程,同時(shí)輸入jps命令在slave節(jié)點(diǎn)進(jìn)行進(jìn)程查看時(shí)終端顯示:3329 DataNode3670 Jps3484 NodeManager可知slave節(jié)點(diǎn)上產(chǎn)生DataNode和NodeManager進(jìn)程。異常處理2:?jiǎn)栴}:Hadoop啟動(dòng)發(fā)生異常,有些進(jìn)程不能被啟動(dòng)。解決方法:執(zhí)行命令./stop-dfs.sh、./ stop-yarn.sh或直接執(zhí)行./ stop-all.sh命令關(guān)閉進(jìn)程后,清空/home/hadoop/dfs和 /
49、home/hadoop/dfs文件夾中的數(shù)據(jù),并重新執(zhí)行格式化,命令如下:rm -rf /home/hadoop/dfs/rm -rf /home/hadoop/tmphdfs namenode format異常處理3:?jiǎn)栴}:slave 節(jié)點(diǎn) DataNode 無(wú)法啟動(dòng)。解決方法:a、系統(tǒng)防火墻沒(méi)有關(guān)閉:執(zhí)行命令sudo ufw disable關(guān)閉防火墻;b、所有節(jié)點(diǎn) hosts 鏈表不統(tǒng)一,或有錯(cuò)誤:重新檢查IP地址與機(jī)器名之間的對(duì)應(yīng)關(guān)系,檢查hadoop的配置文件中是否發(fā)生IP地址的書(shū)寫(xiě)錯(cuò)誤;c、多次 format namenode 造成 namenode 和 datanode 的 clu
50、sterID 不一致:更改 slave Cluster ID 使 其與master 相同,修改每一個(gè)datanode 上面的CID(位于 home/hadoop/dfs/data/current/VERSION 文件夾中)使兩者一致;刪除所有節(jié)點(diǎn)/home/hadoop/dfs/data/下 curren目錄,重新運(yùn)行腳本start-dfs.sh即可。 2.7 Hadoop平臺(tái)測(cè)試在Hadoop平臺(tái)搭建完成后,我們要對(duì)Hadoop平臺(tái)進(jìn)行測(cè)試。在Hadoop的安裝目錄下,提供了一個(gè)單詞統(tǒng)計(jì)程序WordCount。WordCount程序運(yùn)行于Hadoop計(jì)算平臺(tái)之上,充分利用了MapReduce
51、和HDFS。它可以對(duì)文件中單詞出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì),然后給出統(tǒng)計(jì)結(jié)果。我們通過(guò)運(yùn)行WordCount程序,可以檢測(cè)Hadoop平臺(tái)是否能夠正常運(yùn)行。(1)在HDFS上建立相應(yīng)的目錄和相應(yīng)的文本文件在/home/hadoop/目錄下建立文件夾input,并進(jìn)入文件夾input,執(zhí)行命令如下:mkdir /home/hadoop/inputcd /home/hadoop/input建立文件file01和file02,并分別寫(xiě)入要統(tǒng)計(jì)的內(nèi)容,命令如下:echo "hello world bye world" > file01 / 寫(xiě)內(nèi)容到文件file01中echo "
52、hello hadoop goodbye hadoop" >file02 / 寫(xiě)內(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)當(dāng)終端顯示:-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)運(yùn)行WordCount程序進(jìn)入目錄/home/hadoop/hadoop-2.2.0/share/hadoop/mapreduce,然后執(zhí)行WordCount程序,命令如下:cd /home/hadoop/hadoop-2.2.0/share/hadoop/mapreduce /進(jìn)入目錄hadoop jar hadoop-mapredu
54、ce-examples-2.2.0.jar wordcount input output /執(zhí)行Wordcount程序終端會(huì)產(chǎn)生較多的系統(tǒng)運(yùn)行信息,若顯示如下信息: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表明程序在運(yùn)行過(guò)程中執(zhí)行mapreduce分布式編程模式。(4)程序的運(yùn)行結(jié)果輸出WordCount程序運(yùn)行完成后,統(tǒng)計(jì)的結(jié)果會(huì)輸出到HDFS的output 文件夾下的part-r-00000文件中。輸入以下命令可以查看單詞的統(tǒng)計(jì)結(jié)果:hadoop fs -cat output/part-r-00000在terminal終端顯示的輸出結(jié)果為:bye 1goodbye1hadoop2hello 2world2從結(jié)果中可以看到
56、,Hadoop集群能夠成功地將文件file01和file02中各單詞出現(xiàn)的次數(shù)統(tǒng)計(jì)出來(lái),說(shuō)明Hadoop平臺(tái)能夠成功運(yùn)行。三、其它各分布式服務(wù)的安裝和配置3.1 Zookeeper的安裝與配置Zookeeper是一個(gè)分布式開(kāi)源框架,提供了協(xié)調(diào)分布式應(yīng)用的基本服務(wù),它向外部應(yīng)用暴露一組通用服務(wù)分布式同步、命名服務(wù)、集群維護(hù)等,簡(jiǎn)化分布式應(yīng)用協(xié)調(diào)及其管理的難度,提供高性能的分布式服務(wù)。同時(shí),分布式運(yùn)行的HBase(Hadoop分布式數(shù)據(jù)庫(kù))離不開(kāi)Hadoop協(xié)調(diào)工作系統(tǒng)Zookeeper的支持,事實(shí)上,HBase本身內(nèi)置Zookeeper,但由于自帶Zookeepke的 HBase重啟時(shí)會(huì)順帶重啟
57、Zookeeper,致使其它依賴(lài)Zookeeper的組件無(wú)法正常工作。因此需要安裝與HBase內(nèi)置的版本一致的Zookeeper。3.1.1 Zookeeper的解壓安裝將下載好的安裝包zookeeper-3.4.5.tar.gz拷貝到master節(jié)點(diǎn)目錄/home/hadoop/下,輸入命令:tar xzvf zookeeper-3.4.5.tar.gz,進(jìn)行解壓安裝,此時(shí)會(huì)產(chǎn)生文件夾“zookeeper-3.4.5”。安裝完成后配置環(huán)境變量:在系統(tǒng)目錄文件/etc/profile以及zookeeper的安裝目錄/home/hadoop/ zookeeper-3.4.5/conf文件夾下的多個(gè)文件添加相應(yīng)的配置信息。3.1.2 添加環(huán)境變量打開(kāi)/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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025公基常識(shí)試題及答案解析(150題)
- 上海五年級(jí)下試卷及答案
- 肇慶市實(shí)驗(yàn)中學(xué)高中歷史二教案:第課對(duì)外開(kāi)放
- 2025年中國(guó)聚乙烯高倍率阻燃型保溫材料數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025中外合資企業(yè)員工合同范本
- 筆的銷(xiāo)售渠道考核試卷
- 航空公司員工職業(yè)健康與安全管理考核試卷
- 環(huán)保低碳日用品推廣與應(yīng)用考核試卷
- 租賃設(shè)備的技術(shù)創(chuàng)新與專(zhuān)利保護(hù)考核試卷
- 膠合板生產(chǎn)過(guò)程中的智能制造技術(shù)考核試卷
- GA 255-2022警服長(zhǎng)袖制式襯衣
- GB/T 5202-2008輻射防護(hù)儀器α、β和α/β(β能量大于60keV)污染測(cè)量?jī)x與監(jiān)測(cè)儀
- GB/T 39560.4-2021電子電氣產(chǎn)品中某些物質(zhì)的測(cè)定第4部分:CV-AAS、CV-AFS、ICP-OES和ICP-MS測(cè)定聚合物、金屬和電子件中的汞
- GB/T 3452.4-2020液壓氣動(dòng)用O形橡膠密封圈第4部分:抗擠壓環(huán)(擋環(huán))
- 計(jì)劃生育協(xié)會(huì)基礎(chǔ)知識(shí)課件
- 【教材解讀】語(yǔ)篇研讀-Sailing the oceans
- 抗腫瘤藥物過(guò)敏反應(yīng)和過(guò)敏性休克
- 排水管道非開(kāi)挖預(yù)防性修復(fù)可行性研究報(bào)告
- 交通工程基礎(chǔ)習(xí)習(xí)題及參考答案
- 線路送出工程質(zhì)量創(chuàng)優(yōu)項(xiàng)目策劃書(shū)
- 100T汽車(chē)吊性能表
評(píng)論
0/150
提交評(píng)論