《云計(jì)算(第二版)》教材配套課件14-第六章-Hadoop:Google云計(jì)算的開源實(shí)現(xiàn)3_第1頁
《云計(jì)算(第二版)》教材配套課件14-第六章-Hadoop:Google云計(jì)算的開源實(shí)現(xiàn)3_第2頁
《云計(jì)算(第二版)》教材配套課件14-第六章-Hadoop:Google云計(jì)算的開源實(shí)現(xiàn)3_第3頁
《云計(jì)算(第二版)》教材配套課件14-第六章-Hadoop:Google云計(jì)算的開源實(shí)現(xiàn)3_第4頁
《云計(jì)算(第二版)》教材配套課件14-第六章-Hadoop:Google云計(jì)算的開源實(shí)現(xiàn)3_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

電子工業(yè)出版社《云計(jì)算(第二版)》配套課件解放軍理工大學(xué)教授主編華東交通大學(xué)制作第6章Hadoop:Google云計(jì)算的開源實(shí)現(xiàn)

《云計(jì)算(第二版)》購買網(wǎng)址:當(dāng)當(dāng)網(wǎng)

京東商城姊妹力作《實(shí)戰(zhàn)Hadoop》購買網(wǎng)址:當(dāng)當(dāng)網(wǎng)

京東商城提綱Hadoop簡介Hadoop分布式文件系統(tǒng)HDFS分布式數(shù)據(jù)處理MapReduce分布式結(jié)構(gòu)化數(shù)據(jù)表HBaseHadoop安裝HDFS使用HBase安裝使用

MapReduce編程

HDFS常用命令

HDFS集群由一個(gè)NameNode和多個(gè)DataNode組成:NameNode負(fù)責(zé)管理文件系統(tǒng)的元數(shù)據(jù);DataNode負(fù)責(zé)存儲(chǔ)實(shí)際的數(shù)據(jù)(其中censtos254為namenode)1.HDFS管理DFSAdmin命令支持一些和HDFS管理相關(guān)的操作2.安全模式NameNode在啟動(dòng)時(shí)會(huì)自動(dòng)進(jìn)入安全模式。安全模式的目的是在系統(tǒng)啟動(dòng)時(shí)檢查各個(gè)DataNode上數(shù)據(jù)塊的有效性,同時(shí)根據(jù)策略對數(shù)據(jù)塊進(jìn)行必要的復(fù)制或刪除關(guān)閉安全模式$bin/hadoopdfsadmin-safemodeleave把HDFS置于安全模式$bin/hadoopdfsadmin–safemodeenter3.添加節(jié)點(diǎn)加入新加節(jié)點(diǎn)主機(jī)名,再建立到新加節(jié)點(diǎn)無密碼的SSH連接實(shí)驗(yàn)中復(fù)制因子為3,部分?jǐn)?shù)據(jù)塊未達(dá)到最小副本數(shù)。等待一段時(shí)間之后,數(shù)據(jù)塊自動(dòng)進(jìn)行了必要的復(fù)制

HDFS常用命令

4.節(jié)點(diǎn)故障心跳信號(hào)

5.負(fù)載均衡重新平衡DataNode上的數(shù)據(jù)塊的分布

$bin/start-balancer.sh

命令執(zhí)行前,DataNode節(jié)點(diǎn)上數(shù)據(jù)的分布情況

負(fù)載均衡完畢后,DataNode節(jié)點(diǎn)上數(shù)據(jù)的分布情況

HDFS基準(zhǔn)測試

TestDFSIO用來測試HDFS的I/O性能bin/hadoopjar$HADOOP_HOME/hadoop-0.20.2-test.jarTestDFSIO–write–nrFile20–filesize200如果eclipse已經(jīng)安裝了hadoop-0.20.2-eclipse-plugin.jar插件包,那么可以在eclipse下查看結(jié)果基準(zhǔn)測試后,刪除所有生成的文件%bin/hadoopjar$HADOOP_HOME/hadoop-0.20.2-test.jarTestDFSIO–clean提綱Hadoop簡介Hadoop分布式文件系統(tǒng)HDFS分布式數(shù)據(jù)處理MapReduce分布式結(jié)構(gòu)化數(shù)據(jù)表HBaseHadoop安裝HDFS使用HBase安裝使用

MapReduce編程

HBase的安裝配置

(1)安裝HBase$tar–zxvfhbase-0.19.2.tar.gz(2)編輯{HBASE_HOME}/conf/hbase-env.sh,把JAVA_HOME變量設(shè)置為JAVA安裝的根目錄,把HBASE_CLASSPATH設(shè)置為HADOOP_CONF_DIR(3)編輯{HBASE_HOME}/conf/hbase-site.xml(4)復(fù)制${HADOOP_HOME}/conf/hadoop-site.xml(5)編輯${HBASE_HOME}/conf/regionservers(6)把HBase復(fù)制到其他機(jī)器上:$scp–r~/hbase-0.19.2/ubuntu2:/home/grid/$scp–r~/hbase-0.19.2/ubuntu3:/home/grid/(7)復(fù)制${HBASE_HOME}/hbase-0.19.2.jar$cp~/hbase-0.19.2/hbase-0.19.2.jar~/hadoop-0.19.1/lib/HBase的執(zhí)行

(1)啟動(dòng)Hadoop$cd~/hadoop-0.19.1$bin/start-all.sh(2)啟動(dòng)Hbase$cd~/hbase-0.19.2/$bin/start-hbase.sh(3)進(jìn)入shell模式進(jìn)行HBase數(shù)據(jù)操作$bin/hbaseshell(4)停止HBase$bin/stop-hbase.sh(5)停止Hadoop$cd~/hadoop-0.19.1$bin/stop-all.shHbase編程實(shí)例啟動(dòng)Eclipse,新建Map/ReduceProject,命名為Proj,在此工程中新建類test,加入代碼在RunConfigurations選項(xiàng)中選擇工作路徑為HBASE_HOME

運(yùn)行后,可以從控制臺(tái)看到運(yùn)行結(jié)果通過地址http://ubuntu1:60010可以看到HBase運(yùn)行的相關(guān)信息,表“stu”添加成功提綱Hadoop簡介Hadoop分布式文件系統(tǒng)HDFS分布式數(shù)據(jù)處理MapReduce分布式結(jié)構(gòu)化數(shù)據(jù)表HBaseHadoop安裝HDFS使用HBase安裝使用

MapReduce編程

矩陣相乘算法設(shè)計(jì)MapReduce程序設(shè)計(jì)過程1)<key,value>對2)數(shù)據(jù)輸入3)Mapper階段4)Reducer階段5)數(shù)據(jù)輸出2.矩陣相乘(整數(shù)矩陣)左矩陣的一行和右矩陣的一列組成一個(gè)InputSplit,其存儲(chǔ)b個(gè)<key,value>對,key存儲(chǔ)積矩陣元素位置,value為生成一個(gè)積矩陣元素的b個(gè)數(shù)據(jù)對中的一個(gè);Map方法計(jì)算一個(gè)<key,value>對的value中數(shù)據(jù)對的積;而Reduce方法計(jì)算key值相同的所有積的和編程實(shí)現(xiàn)

1.程序中的類(1)matrix類用于存儲(chǔ)矩陣(2)IntPair類實(shí)現(xiàn)WritableComparable接口用于存儲(chǔ)整數(shù)對(3)matrixInputSplit類繼承了InputSplit接口,每個(gè)matrixInputSplit包括b個(gè)<key,value>對,用來生成一個(gè)積矩陣元素。key和value都為IntPair類型,key存儲(chǔ)的是積矩陣元素的位置,value為計(jì)算生成一個(gè)積矩陣元素的b個(gè)數(shù)據(jù)對中的一個(gè)(4)繼承InputFormat的matrixInputFormat類,用來數(shù)據(jù)輸入(5)matrixRecordReader類繼承了RecordReader接口,MapReduce框架調(diào)用此類生成<key,value>對賦給map方法(6)主類matrixMulti,其內(nèi)置類MatrixMapper繼承了Mapper重寫覆蓋了Map方法,類似地,F(xiàn)irstPartitioner、MatrixReducer也是如此。在main函數(shù)中,需要設(shè)置一系列的類,詳細(xì)內(nèi)容參考源碼(7)MultipleOutputFormat類用于向文件輸出結(jié)果(8)LineRecordWriter類被MultipleOutputFormat中的方法調(diào)用,向文件輸出一個(gè)結(jié)果<key,value>對編程實(shí)現(xiàn)

2.部分代碼片段matrixInputFormatmatrixMulti3.程序的運(yùn)行過程(1)程序從文件中讀出數(shù)據(jù)到內(nèi)存,生成matrix實(shí)例,通過組合左矩陣的行與右矩陣的列生成a×c個(gè)matrixInputSplit(2)一個(gè)Mapper任務(wù)對一個(gè)matrixInputSplit中的每個(gè)<key1,value1>對調(diào)用一次Map方法對value1中的兩個(gè)整數(shù)相乘。輸入的<key1,value1>對中key1和value1的類型均為IntPair,其輸出為<key1,value2>對,key1不變,value2為IntWritable類型,值為value1中的兩個(gè)整數(shù)的乘積(3)MapReduce框架調(diào)用FirstPartitioner類的getPartition方法將Map的輸出<key1,value2>對分配給指定的Reducer任務(wù)(任務(wù)個(gè)數(shù)可以在配置文件中設(shè)置)編程實(shí)現(xiàn)

3.程序的運(yùn)行過程(4)Reducer任務(wù)對key1值相同的所有value2求和,得出積矩陣中的元素k的值。其輸入為<key1,list(value2)>對,輸出為<key1,value3>對,key1不變,value3為IntWritable類型,值為key1值相同的所有value2的和。(5)MapReduce框架實(shí)例化一個(gè)MultipleOutputFormat類,將結(jié)果輸出到文件4.程序執(zhí)行過程程序需要兩個(gè)參數(shù):輸入目錄和輸出目錄1.分析比較Hadoop的優(yōu)缺點(diǎn)。2.Hadoop里有哪些機(jī)制?解決了哪些問題?3.HDFS有哪些保障可靠

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論