版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、hadoop原理淺析及安裝經(jīng)過幾天的測試,hadoop分布式系統(tǒng)搭建完畢。首先說一下這幾天對hadoop理論知識的理解,然后說一下安裝及碰到的問題。有圖有真相0:50070/dfshealth.jsp第一:理論知識:什么是hadoop:由三部分組成:HDFS,MapReduce和Hbase。維基百科這樣說:一個分布式系統(tǒng)基礎架構(gòu),由Apache基金會開發(fā)。用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運算和存儲。這里面關(guān)鍵就是高速運算和海量存儲。我們首先講海量存儲,這個比較有意思,一會兒再說高速運算。海量存儲:HDFS前身來自google的一篇博文,所以自身帶有
2、濃厚的互聯(lián)網(wǎng)色彩,比如讀多于寫的特性,高度的擴展性。具體說一下他的特性:圖1:HDFS結(jié)構(gòu)示意圖上圖中展現(xiàn)了整個HDFS三個重要角色:NameNode、DataNode和Client。NameNode可以看作是分布式文件系統(tǒng)中的管理者,主要負責管理文件系統(tǒng)的命名空間、集群配置信息和存儲塊的復制等。NameNode會將文件系統(tǒng)的Meta-data存儲在內(nèi)存中,這些信息主要包括了文件信息、每一個文件對應的文件塊的信息和每一個文件塊在DataNode的信息等。DataNode是文件存儲的基本單元,它將Block存儲在本地文件系統(tǒng)中,保存了Block的Meta-data,同時周期性地將所有存在的Blo
3、ck信息發(fā)送給NameNode。Client就是需要獲取分布式文件系統(tǒng)文件的應用程序。這里通過三個操作來說明他們之間的交互關(guān)系。文件寫入:Client向NameNode發(fā)起文件寫入的請求。NameNode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。Client將文件劃分為多個Block,根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€DataNode塊中。文件讀?。篊lient向NameNode發(fā)起文件讀取的請求。NameNode返回文件存儲的DataNode的信息。Client讀取文件信息。文件Block復制:NameNode發(fā)現(xiàn)部分文件的Block
4、不符合最小復制數(shù)或者部分DataNode失效。通知DataNode相互復制Block。DataNode開始直接相互復制。HDFS的幾個設計特點:Block的放置:默認不配置。一個Block會有三份備份,一份放在NameNode指定的DataNode,另一份放在與指定 DataNode非同一Rack上的DataNode,最后一份放在與指定DataNode同一Rack上的DataNode上。備份無非就是為了數(shù)據(jù)安全,考慮同一Rack的失敗情況以及不同Rack之間數(shù)據(jù)拷貝性能問題就采用這種配置方式。心跳檢測DataNode的健康狀況,如果發(fā)現(xiàn)問題就采取數(shù)據(jù)備份的方式來保證數(shù)據(jù)的安全性。數(shù)據(jù)復制(場景
5、為DataNode失敗、需要平衡DataNode的存儲利用率和需要平衡DataNode數(shù)據(jù)交互壓力等情況):這里先說一下,使用HDFS的balancer命令,可以配置一個Threshold來平衡每一個DataNode磁盤利用率。例如設置了Threshold為 10%,那么執(zhí)行balancer命令的時候,首先統(tǒng)計所有DataNode的磁盤利用率的均值,然后判斷如果某一個DataNode的磁盤利用率超過這個均值Threshold以上,那么將會把這個DataNode的block轉(zhuǎn)移到磁盤利用率低的DataNode,這對于新節(jié)點的加入來說十分有用。數(shù)據(jù)交驗:采用CRC32作數(shù)據(jù)交驗。在文件Block寫
6、入的時候除了寫入數(shù)據(jù)還會寫入交驗信息,在讀取的時候需要交驗后再讀入。NameNode是單點:如果失敗的話,任務處理信息將會紀錄在本地文件系統(tǒng)和遠端的文件系統(tǒng)中。數(shù)據(jù)管道性的寫入:當客戶端要寫入文件到DataNode上,首先客戶端讀取一個Block然后寫到第一個DataNode上,然后由第一個DataNode傳遞到備份的DataNode上,一直到所有需要寫入這個Block的NataNode都成功寫入,客戶端才會繼續(xù)開始寫下一個 Block。安全模式:在分布式文件系統(tǒng)啟動的時候,開始的時候會有安全模式,當分布式文件系統(tǒng)處于安全模式的情況下,文件系統(tǒng)中的內(nèi)容不允許修改也不允許刪除,直到安全模式結(jié)束。
7、安全模式主要是為了系統(tǒng)啟動的時候檢查各個DataNode上數(shù)據(jù)塊的有效性,同時根據(jù)策略必要的復制或者刪除部分數(shù)據(jù)塊。運行期通過命令也可以進入安全模式。在實踐過程中,系統(tǒng)啟動的時候去修改和刪除文件也會有安全模式不允許修改的出錯提示,只需要等待一會兒即可。下面說高速計算:上面的圖片是計算這個文件中每個單詞出現(xiàn)的次數(shù),這個任務被分裂成三個子任務,然后映射到集群中JobTracker指定的TaskTracker上運行子任務,每個子任務都可以在指定的TaskTracker上運行,然后把運行的結(jié)果保存在當?shù)?,然后reduce程序被調(diào)用。然后進行的是結(jié)果的整合,整合完畢,就是最終結(jié)果了。這是計算向數(shù)據(jù)靠攏的
8、計算方式。好了,我們開始說安裝,好多都在講0.17和0.18的安裝,hadoop這玩意兒因為最近很火,所以變動很厲害,變動的速度估計和nginx有一拼,所以在安裝的時候得批判的繼承他們安裝過程。環(huán)境:首先:在這幾臺機器上安裝CentOS5.4(最簡化安裝)并升級完畢。保證計算機名的全局唯一性:-8-0修改方式:(5臺服務器都設置)roothadoop5 # hostname roothadoop5 # cat /etc/hosts# Do not remove the following line, or various programs# that require network funct
9、ionality will fail. localhost.localdomain localhost:1 localhost6.localdomain6 localhost60 hadoop5roothadoop5 # cat /etc/sysconfig/networkNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=GATEWAY=roothadoop5 #為了方便,關(guān)閉防火墻:(5臺服務器都設置)roothadoop5 # service iptables stoproothadoop5 # chkconfig iptables off方便起見,創(chuàng)建ha
10、doop用戶roothadoop5 # useradd hadoop下載hadoop最新版:/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz下載JDK最新版:/ESD6/JSCDL/jdk/6u19-b04/jdk-6u19-linux-i586-rpm.bin?AuthParam=1270716768_db3a41353e2febaf6e98b124c7e4a54d&TicketId=B%2Fw6lhWJS1NMThBDO15fkQPk&GroupName=CDS&FilePath=/ESD6/JSCDL/jdk/6u19-b04/jdk-6u1
11、9-linux-i586-rpm.bin&File=jdk-6u19-linux-i586-rpm.bin全部放入/home/hadoop目錄。roothadoop5 # cp jdk-6u19-linux-i586.bin /usr/local/roothadoop5 # cd /usr/local/roothadoop5 # ./jdk-6u19-linux-i586.binroothadoop5 # rm -rf jdk-6u19-linux-i586.binroothadoop5 # cd /home/hadoop/roothadoop5 hadoop# tar zxvf hadoop
12、-0.20.2.tar.gzroothadoop5 # cat /etc/profile #放入如下信息export JAVA_HOME=/usr/local/jdk1.6.0_19export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATHexport HADOOP_HOME=/home/hadoop/hadoop-0.20.2export PATH=$PATH:$HADOOP_HOME/bin然后執(zhí)行如下命令:roothadoo
13、p5 # source /etc/profile現(xiàn)在我們修改hadoop的配置文件:0.20以上的配置和以前的配置有些是不同的,我們以0.20.2為例做東西roothadoop5 conf# cat core-site.xml hdfs:/0:54310/ hadoop.tmp.dir /home/hadoop/tmp/=roothadoop5 conf# echo export JAVA_HOME=/usr/local/jdk1.6.0_19 hadoop-env.sh=roothadoop5 conf# cat hdfs-site.xml dfs.replication 3=roothad
14、oop5 conf# cat mapred-site.xml mapred.job.tracker hdfs:/0:54311/roothadoop5 conf#=roothadoop5 conf# cat masters0roothadoop5 conf# cat slaves8roothadoop5 conf#=現(xiàn)在我們做無密碼的ssh登錄:建立Master到每一臺Slave的SSH受信證書。由于Master將會通過SSH啟動所有Slave的Hadoop,所以需要建立單向或者雙向證書保證命令執(zhí)行時不需要再輸入密碼。在Master和所有的Slave機器上執(zhí)行:ssh-keygen -t rs
15、a。執(zhí)行此命令的時候,看到提示只需要回車。然后就會在/root/.ssh/下面產(chǎn)生id_rsa.pub的證書文件,通過scp將Master機器上的這個文件拷貝到Slave上(記得修改名稱),例如:scp rootmasterIP:/root/.ssh/id_rsa.pub /root/.ssh/46_rsa.pub,然后執(zhí)行cat /root/.ssh/46_rsa.pub /root/.ssh/authorized_keys,建立authorized_keys文件即可,可以打開這個文件看看,也就是rsa的公鑰作為key,userIP作為value。此時可以試驗一下,從master ssh到s
16、lave已經(jīng)不需要密碼了。由slave反向建立也是同樣。為什么要反向呢?其實如果一直都是Master啟動和關(guān)閉的話那么沒有必要建立反向,只是如果想在Slave也可以關(guān)閉Hadoop就需要建立反向。然后每臺服務器上都修改ssh的配置文件:/etc/ssh/sshd_config 把GSSAPIAuthentication的值設置為no,然后:roothadoop5 conf# service sshd restartroothadoop5 conf#我們從master向slave依次登錄roothadoop5 conf#sshrootroothadoop5 conf#sshrootroothad
17、oop5 conf#sshrootroothadoop5 conf#sshroot8然后壓縮hadoop文件夾成為一個壓縮包roothadoop5 hadoop# tar zcvf hadoop-0.20.2.tar.gz hadoop-0.20.2然后在每臺slave上執(zhí)行如下命令roothadoop1 hadoop# cd /home/hadooproothadoop1 hadoop# scp -rroot0:/home/hadoop/hadoop-0.20.2.tar.gz/home/hadoop/roothadoop1 hadoop# tar zxvf hadoop-0.20.2.tar.gz好,我們現(xiàn)在可
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色建筑政策支持場外工程合同規(guī)范文本2篇
- 鄭州西亞斯學院《別墅建筑空間設計》2023-2024學年第一學期期末試卷
- 浙江農(nóng)業(yè)商貿(mào)職業(yè)學院《中級韓國語視聽說》2023-2024學年第一學期期末試卷
- 2025年高科技實驗室場地租賃及配套設施供應合同2篇
- 創(chuàng)傷科護士工作總結(jié)
- 美容美發(fā)店話務員工作總結(jié)
- 飛行器材租賃合約三篇
- 商務中心保安工作總結(jié)
- 輸液外滲知識培訓課件
- 網(wǎng)絡科技行業(yè)的美工工作總結(jié)
- 酒店客房打掃培訓
- 2024-2025學年高考英語語法第一輪復習:定語從句(講義)(原卷版+解析)
- 保險理賠崗位招聘面試題與參考回答(某大型央企)2024年
- 第10課《我們不亂扔》(教學設計)-部編版道德與法治二年級上冊
- 瑞士萬通831KF卡爾費休水分測定儀干貨-庫侖法
- 第14章第1節(jié)熱機-課件(共21張課件)-人教版初中物理九年級全一冊.課件
- 2025屆浙江省樂清市知臨中學高一數(shù)學第一學期期末檢測試題含解析
- 課程設計報告課程設計報告書(3篇)
- 行車調(diào)度員技能競賽考試題庫及含答案
- 廣東省廣州市(2024年-2025年小學四年級語文)人教版期末考試(上學期)試卷及答案
- 貴州省歷年中考語文現(xiàn)代文閱讀之非連續(xù)性文本閱讀13篇(含答案)(2003-2022)
評論
0/150
提交評論