




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第五章
Hadoop3.0:主流開源云架構(gòu)5.1挑戰(zhàn)與對(duì)策5.2
Hadoop3.0簡(jiǎn)述5.4
Hadoop3.0體系架構(gòu)of311習(xí)題5.5
hadoop3.0訪問接口高級(jí)人工智能人才培養(yǎng)叢書5.6
Hadoop3.0生態(tài)組件第五章Hadoop3.0:主流開源云架構(gòu)of312假現(xiàn)有一些配置完全相同的機(jī)器cslave0~cSlaveN,cmaster0,cmaster1,并且每臺(tái)機(jī)器都有1個(gè)雙核CPU,5GB硬盤?,F(xiàn)有兩個(gè)大小都是2GB的文件file0和file1。第一類問題,存儲(chǔ)。問題①:將file0和file1存入兩臺(tái)不同機(jī)器,但要求對(duì)外顯示它們存于同一硬盤空間。問題②:不考慮①,現(xiàn)有一新文件file2,大小為6GB,要求存入機(jī)器后對(duì)外顯示依舊為一個(gè)完整文件。第二類問題,計(jì)算。問題③:在問題①下,統(tǒng)計(jì)file0和file1這兩個(gè)文件里每個(gè)單詞出現(xiàn)的次數(shù)。第三類問題,可靠性。問題④:假設(shè)用于解決上述問題的機(jī)器宕機(jī)了,問如何保證數(shù)據(jù)不丟失。5.1挑戰(zhàn)與對(duì)策5.1挑戰(zhàn)與對(duì)策第五章Hadoop3.0:主流開源云架構(gòu)of313第五章Hadoop3.0:主流開源云架構(gòu)of3145.1挑戰(zhàn)與對(duì)策第五章Hadoop3.0:主流開源云架構(gòu)of3155.1挑戰(zhàn)與對(duì)策第五章Hadoop3.0:主流開源云架構(gòu)of3165.1挑戰(zhàn)與對(duì)策第五章Hadoop3.0:主流開源云架構(gòu)of3175.1挑戰(zhàn)與對(duì)策第五章Hadoop3.0:主流開源云架構(gòu)of3185.1挑戰(zhàn)與對(duì)策第五章Hadoop3.0:主流開源云架構(gòu)of3195.1挑戰(zhàn)與對(duì)策第五章Hadoop3.0:主流開源云架構(gòu)of31105.1挑戰(zhàn)與對(duì)策第五章
Hadoop3.0:主流開源云架構(gòu)5.2
Hadoop3.0簡(jiǎn)述5.1挑戰(zhàn)與對(duì)策5.4
Hadoop3.0體系架構(gòu)of3111習(xí)題5.5
hadoop3.0訪問接口高級(jí)人工智能人才培養(yǎng)叢書5.6
Hadoop3.0生態(tài)組件5.2Hadoop3.0簡(jiǎn)述第五章Hadoop3.0:主流開源云架構(gòu)of3112CommonHDFSYARNMapReduceHadoop3.0組成第五章Hadoop3.0:主流開源云架構(gòu)of3113Hadoop生態(tài)圈5.2Hadoop3.0簡(jiǎn)述第五章
Hadoop3.0:主流開源云架構(gòu)5.4
Hadoop3.0體系架構(gòu)5.1挑戰(zhàn)與對(duì)策5.2
Hadoop3.0簡(jiǎn)述of3114習(xí)題5.5
hadoop3.0訪問接口高級(jí)人工智能人才培養(yǎng)叢書5.6
Hadoop3.0生態(tài)組件第五章Hadoop3.0:主流開源云架構(gòu)of31155.4Hadoop3.0體系架構(gòu)HDFS邏輯架構(gòu)HDFS存儲(chǔ)數(shù)據(jù)示例HDFS主節(jié)點(diǎn)雙活實(shí)例5.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of3116第五章Hadoop3.0:主流開源云架構(gòu)of3117HDFS邏輯架構(gòu)5.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31185.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of3119HDFS物理拓?fù)?.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of3120HDFS物理拓?fù)?.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31215.4Hadoop3.0體系架構(gòu)MapReduce邏輯架構(gòu)MapReduce執(zhí)行任務(wù)時(shí)架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31225.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31235.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31245.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31255.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31265.4Hadoop3.0體系架構(gòu)YARN邏輯架構(gòu)YARN執(zhí)行任務(wù)時(shí)架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31275.4Hadoop3.0體系架構(gòu)YARN體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31285.4Hadoop3.0體系架構(gòu)Yarn架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31295.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31305.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31315.4Hadoop3.0體系架構(gòu)框架執(zhí)行Yarn任務(wù)時(shí)流程強(qiáng)調(diào)任務(wù)邏輯完全由AppMster決定,可以不是MR邏輯AppMster是RM啟動(dòng)的AppMster負(fù)責(zé)任務(wù)執(zhí)行和監(jiān)管①Client端向RM提交任務(wù)②RM首先啟動(dòng)負(fù)責(zé)本此任務(wù)的AppMster③AppMster負(fù)責(zé)本此任務(wù)處理邏輯?它首先與RM協(xié)商申請(qǐng)資源
?再NM協(xié)商啟動(dòng)Container執(zhí)行任務(wù)④AppMster完成任務(wù)后向RM注銷自己Yarn架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31325.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31335.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31345.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31355.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31365.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31375.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31385.4Hadoop3.0體系架構(gòu)第五章Hadoop3.0:主流開源云架構(gòu)of31395.4Hadoop3.0體系架構(gòu)YARN上執(zhí)行MapReduce示例第五章Hadoop3.0:主流開源云架構(gòu)of31405.4Hadoop3.0體系架構(gòu)MapReduce框架第五章Hadoop3.0:主流開源云架構(gòu)of31415.4Hadoop3.0體系架構(gòu)第五章
Hadoop3.0:主流開源云架構(gòu)5.5
Hadoop3.0訪問接口5.1挑戰(zhàn)與對(duì)策5.2
Hadoop3.0簡(jiǎn)述of3142習(xí)題5.4
hadoop3.0體系架構(gòu)高級(jí)人工智能人才培養(yǎng)叢書5.6
Hadoop3.0生態(tài)組件第五章Hadoop3.0:主流開源云架構(gòu)of3143HDFS自帶Web接口HDFSShell接口WebHDFSRESTAPI接口HDFSJavaAPI接口5.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of3144HDFS自帶Web接口
ip:500705.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31455.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31465.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31475.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31485.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31495.5Hadoop3.0訪問接口MapReduce接口Web接口Shell接口API接口第五章Hadoop3.0:主流開源云架構(gòu)of31505.5Hadoop3.0訪問接口類
名默認(rèn)類InputFormatTextInputFormatRecordReaderLineRecordReaderInputSplitFileSplitMapIdentityMapperCombine不使用PartitionerHashPartitionerGroupCompatator不使用ReduceIdentityReducerOutputFormatFileOutputFormatRecordWriterLineRecordWriterOutputCommitterFileOutputCommitter第五章Hadoop3.0:主流開源云架構(gòu)of31515.5Hadoop3.0訪問接口WordCountFileInputFormatWordCountMapWordCountReduceWordCountPartitionerWordCountReduceFileoOutputFormatInputSplitRecordReaderOutputCommiterRecordWriter第五章Hadoop3.0:主流開源云架構(gòu)of31525.5Hadoop3.0訪問接口FileInputFormatWordCountMapWordCountReduceWordCountPartitionerWordCountReduceFileoOutputFormatInputSplitRecordReaderOutputCommiterRecordWriterSequenceFileInputFormatSequenceFileOutputFormat企業(yè)級(jí)WordCount第五章Hadoop3.0:主流開源云架構(gòu)of31535.5Hadoop3.0訪問接口SecondarySort第五章Hadoop3.0:主流開源云架構(gòu)of31545.5Hadoop3.0訪問接口性能優(yōu)化默認(rèn)情況調(diào)優(yōu)方法注意點(diǎn)默認(rèn)塊太小調(diào)整塊大小受限于硬件默認(rèn)不開啟二進(jìn)制開啟二進(jìn)制輸入輸出完美默認(rèn)只用一個(gè)Reduce設(shè)置最佳Reduce數(shù)量受限于集群大小默認(rèn)不開啟多線程Map啟用多線程Map受限于業(yè)務(wù)類型默認(rèn)不開啟分布式緩存開啟分布式緩存受限于業(yè)務(wù)類型默認(rèn)值較優(yōu)增大排序時(shí)內(nèi)存空間不常用默認(rèn)不開啟Combine開啟Combine受限于業(yè)務(wù)類型默認(rèn)不開啟第三方存取讀取第三方存取受限于業(yè)務(wù)類型默認(rèn)不夠用自定義數(shù)據(jù)類型完美第五章Hadoop3.0:主流開源云架構(gòu)of3155YARN自帶Web接口YARNShell接口YARNJavaAPI接口5.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31565.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31575.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31585.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31595.5Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31605.5Hadoop3.0訪問接口并行范式示例實(shí)現(xiàn)M范式DistributedShell框架M-S-R范式MapReduce框架BSP范式Giraph框架第五章Hadoop3.0:主流開源云架構(gòu)of31615.5Hadoop3.0訪問接口①依據(jù)本部門在研項(xiàng)目需求書,開發(fā)ApplicationBusinessLogic模塊。②判斷ApplicationBusinessLogic所屬并行化范式。③根據(jù)并行化范式,將ApplicationBusinessLogic改寫成該范式。④羅列ApplicationBusinessLogic執(zhí)行時(shí)Resource清單。⑤羅列ApplicationBusinessLogic執(zhí)行時(shí)偏好清單。⑥羅列ApplicationBusinessLogic執(zhí)行時(shí)環(huán)境清單。⑦編寫執(zhí)行ApplicationBusinessLogic的Shell腳本。①創(chuàng)建并啟動(dòng)AppMstr到RM的靜態(tài)實(shí)例AMRMClientAsync。②創(chuàng)建并啟動(dòng)AppMstr到NM的靜態(tài)實(shí)例NMClientAsyncImpl。③AppMstr使用AMRMClientAsync到RM注冊(cè)自己。④AppMstr使用AMRMClientAsync到RM申請(qǐng)Containers。⑤AppMstr使用AMRMClientAsync將AppBusinessLogic下沉到Container里。⑥AppMstr使用AMRMClientAsync將其他資源下放到Container里。⑦AppMstr調(diào)用NMClientAsyncImpl啟動(dòng)Container。⑧AppMstr調(diào)用NMClientAsyncImpl啟動(dòng)監(jiān)控方法監(jiān)控Container。⑨根據(jù)ApplicationBusinessLogic所屬范式,決定是否執(zhí)行下一層Container。⑩AppMstr使用AMRMClientAsync向RM匯報(bào)應(yīng)用程序執(zhí)行結(jié)束。第五章Hadoop3.0:主流開源云架構(gòu)of31625.5Hadoop3.0訪問接口YARN應(yīng)用程序標(biāo)準(zhǔn)模塊DistributedShell框架對(duì)應(yīng)類ApplicationBussinessLogic用戶編寫的Shell命令A(yù)pplicationClientClient.javaApplicationMasterApplicationMaster.javaYARN應(yīng)用程序標(biāo)準(zhǔn)模塊MapReduce框架對(duì)應(yīng)類ApplicationBusinessLogic用戶自定義Mapper類、Partition類、和Reduce類ApplicationClientYARNRunner.javaApplicationMasterMRAPPMaster.javaYARN應(yīng)用程序標(biāo)準(zhǔn)模塊Giraph框架對(duì)應(yīng)類ApplicationBusinessLogic用戶自定義BasicComputation類ApplicationClientGiraphYarnClient.javaApplicationMasterGiraphApplicationMaster.java第五章Hadoop3.0:主流開源云架構(gòu)of31635.5Hadoop3.0訪問接口ResourceManagerNodeManagerNodeManagerNodeManagerNodeManager第五章
Hadoop3.0:主流開源云架構(gòu)5.6
Hadoop3.0生態(tài)組件5.1挑戰(zhàn)與對(duì)策5.2
Hadoop3.0簡(jiǎn)述of3164習(xí)題5.4
hadoop3.0體系架構(gòu)高級(jí)人工智能人才培養(yǎng)叢書5.5
Hadoop3.0訪問接口第五章Hadoop3.0:主流開源云架構(gòu)of31655.6Hadoop3.0生態(tài)圈組件大數(shù)據(jù)服務(wù)提供商方案提供商平臺(tái)簡(jiǎn)稱平臺(tái)全稱組
件Apache
基礎(chǔ)組件HortonworksHDPHortonworksDataPlatform基礎(chǔ)組件+商用組件ClouderacdhCloudera’sDistributionIncludingApacheHadoop基礎(chǔ)組件+商用組件MapRmdpMapRDataPlatform基礎(chǔ)組件+商用組件第五章Hadoop3.0:主流開源云架構(gòu)of31665.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31675.6Hadoop3.0生態(tài)圈組件谷歌大數(shù)據(jù)組件第五章Hadoop3.0:主流開源云架構(gòu)of31685.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31695.6Hadoop3.0生態(tài)圈組件Apache大數(shù)據(jù)組件
Apache是什么性質(zhì)全稱/別稱作用apache軟件HttpServerWeb服務(wù)器軟件Apache組織ApacheSoftwareFoundation軟件開發(fā)組織第五章Hadoop3.0:主流開源云架構(gòu)of31705.6Hadoop3.0生態(tài)圈組件Apache大數(shù)據(jù)組件
Apache是什么本書參考/第五章Hadoop3.0:主流開源云架構(gòu)of31715.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31725.6Hadoop3.0生態(tài)圈組件Apache大數(shù)據(jù)組件第五章Hadoop3.0:主流開源云架構(gòu)of31735.6Hadoop3.0生態(tài)圈組件核心組件第五章Hadoop3.0:主流開源云架構(gòu)of31745.6Hadoop3.0生態(tài)圈組件集群第五章Hadoop3.0:主流開源云架構(gòu)of31755.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31765.6Hadoop3.0生態(tài)圈組件基礎(chǔ)商用集群版第五章Hadoop3.0:主流開源云架構(gòu)of31775.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31785.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31795.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31805.6Hadoop3.0生態(tài)圈組件Hive第五章Hadoop3.0:主流開源云架構(gòu)of31815.6Hadoop3.0生態(tài)圈組件Hive
為什么現(xiàn)實(shí)需求Hive的設(shè)計(jì)目的即是讓Facebook內(nèi)精通SQL的分析師能夠以類SQL的方式查詢存放在HDFS的大規(guī)模數(shù)據(jù)集Hive起源于Facebook內(nèi)部信息處理平臺(tái)。由于需要處理大量新興社會(huì)網(wǎng)絡(luò)數(shù)據(jù),考慮到擴(kuò)展性,F(xiàn)acebook最終選擇hadoop作為存儲(chǔ)和處理平臺(tái)1.編寫MR程序2.組織處理流提交任務(wù)功能好熟悉和Pig有和區(qū)別第五章Hadoop3.0:主流開源云架構(gòu)of3182Hive
是什么概念-工作過程程序員或分析師根據(jù)業(yè)務(wù)邏輯寫好數(shù)據(jù)流腳本向Hive提交任務(wù)Hive會(huì)將寫好的數(shù)據(jù)流處理腳本翻譯成多個(gè)Hdfs,Map和Reduce操作Hive向hadoop提交任務(wù)Hive是一個(gè)構(gòu)建在hadoop上的數(shù)據(jù)倉庫框架5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3183Hive
是什么架構(gòu)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3184Hive
是什么-語法語法HiveQL:SQL類似數(shù)據(jù)類型基本類型:數(shù)值型、布爾型、字符串復(fù)雜類型:ARRAY、MAP和STRUCT關(guān)系操作:如x='a'算術(shù)操作:加法x+1邏輯操作:如邏輯或xory操作符函數(shù)Hive內(nèi)置了上百個(gè)函數(shù)基本同SQL一樣countlikeRank-------map子句reduce子句5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3185Hive
實(shí)例部署方式5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3186Hive
實(shí)例部署yuminstallhive例題①在hive里新建member表,并將表6-6中的數(shù)據(jù)載入hive里的member表中②查詢member表中所有記錄;查詢member表中g(shù)ender值為1的記錄;查詢member表中g(shù)ender值為1且age為22的記錄;統(tǒng)計(jì)member中男性和女性出現(xiàn)次數(shù)③試比較pig中“單詞計(jì)數(shù)”和“統(tǒng)計(jì)男女出現(xiàn)次數(shù)”異同點(diǎn)身份id姓名性別年齡教育職業(yè)收入201401aa021e0p3m201402bb122e1p2l201403cc123e2p1m5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3187Hive
實(shí)例理解功能好熟悉Hive和Pig有和區(qū)別(1)hive有metadata,pig無(2)hive面向sql、Pig面向MapReduce(1)pig是沒有開發(fā)好的hive(2)facebook誤解hadoop用途狹義的理解5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3188Hive由來Hive是一個(gè)構(gòu)建在Hadoop上的數(shù)據(jù)倉庫框架,它起源于Facebook內(nèi)部信息處理平臺(tái)。由于需要處理大量社會(huì)網(wǎng)絡(luò)數(shù)據(jù),考慮到擴(kuò)展性,F(xiàn)acebook最終選擇Hadoop作為存儲(chǔ)和處理平臺(tái)。Hive的設(shè)計(jì)目的是讓Facebook內(nèi)精通SQL(但Java編程相對(duì)較弱)的分析師能夠以類SQL的方式查詢存放在HDFS的大規(guī)模數(shù)據(jù)集。5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3189工作原理Hive非常簡(jiǎn)單,本質(zhì)上,其相當(dāng)于一個(gè)MapReduce和HDFS的翻譯終端。用戶提交Hive腳本后,Hive運(yùn)行時(shí)環(huán)境會(huì)將這些腳本翻譯成MapReduce和HDFS操作并向集群提交這些操作。Step1用戶編寫HiveQL并向Hive運(yùn)行時(shí)環(huán)境提交該HiveQL(圖中Step1)。Step2Hive運(yùn)行時(shí)環(huán)境將該HiveQL翻譯成MapReduce和HDFS操作(圖中Step2)。Step3Hive運(yùn)行時(shí)環(huán)境調(diào)用Hadoop命令行接口或程序接口,向Hadoop集群提交翻譯后的HiveQL(圖中Step3)。Step4Hadoop集群執(zhí)行HiveQL翻譯后的MapReduce-App或HDFS-App(未標(biāo))。5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31905.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31915.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3192①用戶接口:包括HiveShell、Thrift客戶端、Web接口。②Thrift服務(wù)器:當(dāng)Hive以服務(wù)器模式運(yùn)行時(shí),可以作為Thrift服務(wù)器,供多個(gè)客戶端同時(shí)使用Hive。③元數(shù)據(jù)庫:Hive元數(shù)據(jù)(如表信息)的集中存放地。④解析器:包括解釋器、編譯器、優(yōu)化器、執(zhí)行器。其是將HiveQL翻譯成MapReduce和HDFS的核心部件。⑤Hadoop:底層分布式存儲(chǔ)和計(jì)算引擎。Hive體系架構(gòu)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3193Hive計(jì)算模型CREATETABLEu_data(useridINT,movieidINT,ratingINT,unixtimeSTRING)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'STOREDASTEXTFILE;SELECTCOUNT(*)FROMu_data;5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3194HiveQL(Hive的SQL)數(shù)據(jù)類型基本類型數(shù)值型布爾型字符串復(fù)雜類型ARRAYMAPSTRUCT操作函數(shù)關(guān)系操作算術(shù)操作邏輯操作5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3195Hive部署Hive部署內(nèi)嵌模式本地模式完全遠(yuǎn)程模式5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3196Hive部署部署Hive手工部署工具部署:使用Ambari5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3197手工部署Hive集群Step1下載并解壓Hive。Step2為Hive配置Hadoop安裝路徑。Step3在HDFS里新建Hive存儲(chǔ)目錄。Step4啟動(dòng)Hive命令行。Step5驗(yàn)證Hive是否啟動(dòng)成功。5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3198使用Ambari部署HiveStep1制定部署規(guī)劃。Step2準(zhǔn)備硬件機(jī)器和OS環(huán)境。Step3配置單機(jī)OS環(huán)境和集群環(huán)境。Step4部署Ambari-server。Step5使用Ambari-server部署HDFS、YARN、Hive。5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of3199使用Ambari部署Hive效果圖5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31100Hive接口HiveWeb接口HiveShell接口HiveAPI接口Hcatalog接口Pig接口Beeline接口5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31101實(shí)戰(zhàn)HiveWeb接口Hiveserver2IP:99995.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31102實(shí)戰(zhàn)HiveShellDDLOperationsDMLOperationsSQLOperations5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31103實(shí)戰(zhàn)Hive之綜合示例下面的語句完成:①進(jìn)入Hive命令行接口,獲取Hive函數(shù)列表并單獨(dú)查詢count函數(shù)用法。②在Hive里新建member表,并將表11-2中的數(shù)據(jù)載入Hive里的member表中。③查詢member表中所有記錄,查詢member表中g(shù)ender值為1的記錄,查詢member表中g(shù)ender值為1且age為22的記錄,統(tǒng)計(jì)member中男性和女性出現(xiàn)次數(shù)。下面按問題順序依次講述。身份ID姓名性別年齡教育職業(yè)收入201401aa021e0p3m201402bb122e1p2l201403cc123e2p1m5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31104[allen@iclient0~]#hive#進(jìn)入Hive命令行hive>showfunctions;#獲取Hive所有函數(shù)列表hive>describefunctioncount;#查看count函數(shù)用法問答1問答2201401aa021e0p3m201402bb122e1p2l201403cc122e2p1m準(zhǔn)備數(shù)據(jù)上傳,建表,查詢5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31105hive>showtables;#查看當(dāng)前Hive倉庫中所有表(以確定當(dāng)前無member表)hive>createtablemember(idint,namestring,gendertinyint,agetinyint,edustring,profstring,incomestring)rowformatdelimitedfieldsterminatedby'\t';#使用合適字段與類型,新建member表hive>showtables;#再次查看,將顯示member表hive>loaddatalocalinpath'/home/allen/memberData'intotablemember;#將本地文件m..載入HDFShive>select*frommember;#查看表中所有記錄hive>select*frommemberwheregender=1;#查看表中g(shù)ender值為1的記錄hive>select*frommemberwheregender=1ANDage=23;#查看表中g(shù)ender值為1且age為23的記錄hive>selectgender,count(*)frommembergroupbygender;#統(tǒng)計(jì)男女出現(xiàn)總次數(shù)hive>droptablemember;#刪除member表hive>quit;5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31106Spark5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31107基本概念Spark于2009年誕生于伯克利大學(xué)AMPLab,最初它只是伯克利大學(xué)的研究性項(xiàng)目。2010年時(shí)Spark正式開源,2013年,伯克利將其捐贈(zèng)給Aparch基金會(huì)。2014年成為Aparch基金的頂級(jí)項(xiàng)目,目前已廣泛應(yīng)用于工業(yè)界。由來概念Spark是一個(gè)高速的通用型集群計(jì)算框架,其內(nèi)部?jī)?nèi)嵌了一個(gè)用于執(zhí)行DAG的(有向無環(huán)圖)工作流引擎,能夠?qū)AG類型的Spark-App拆分成Task序列并在底層框架上并行運(yùn)行。程序接口層:Java、Scala、Python、R等高級(jí)語音直接編寫Spark-App。接口專用組件:SQL、Mllib、GraphX、Streaming等專用組件,這些組件內(nèi)置了大量專用算法,充分利用這些組件,能夠大大加快Spark-App開發(fā)進(jìn)度。5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31108Spark主要模塊(基本概念)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31109Spark計(jì)算模型(基本概念)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31110Spark計(jì)算模型(基本概念)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311115.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31112MapReduce發(fā)展(基本概念)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31113體系架構(gòu)Spark體系架構(gòu)資源管理層:使用自帶資源管理器,使用第三方資源管理器程序執(zhí)行層:邏輯一樣,進(jìn)程名不同資源管理層:Standalone、YARN、Mesos5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31114體系架構(gòu)Spark體系架構(gòu)資源管理層程序執(zhí)行層主服務(wù):Master從服務(wù)WorkerWorkerWorkerWorker從服務(wù)Eexcutor主服務(wù):DriverEexcutorEexcutor5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31115體系架構(gòu)Spark體系架構(gòu)資源管理層程序執(zhí)行層主服務(wù):ResourceManager從服務(wù)NodeManager從服務(wù)Child主服務(wù):SparkAppMasterNodeManagerNodeManagerChildChildChild5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311165.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31117Standalone資源管理器5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31118Standalone時(shí)執(zhí)行層5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311195.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311205.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311215.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31122Spark集群部署概念:部署資源管理器手工部署Standalone資源管理器演示手工部署YARN資源管理器Ambari部署YARN資源管理器5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31123手工部署SparkStep1制定部署規(guī)劃。Step2準(zhǔn)備硬件機(jī)器,準(zhǔn)備機(jī)器操作系統(tǒng)環(huán)境,準(zhǔn)備機(jī)器網(wǎng)絡(luò)環(huán)境。Step3對(duì)集群內(nèi)每一臺(tái)機(jī)器,修改機(jī)器名,關(guān)閉防火墻,安裝jdk。Step4為每臺(tái)機(jī)器,添加集群級(jí)別域名映射。Step5打通主節(jié)點(diǎn)到自身無密鑰認(rèn)證,打通主節(jié)點(diǎn)到所有從節(jié)點(diǎn)無密鑰認(rèn)證。Step6主節(jié)點(diǎn)解壓Spark,配置spark。Step7將配置好的Spark復(fù)制至所有slave機(jī)。Step8啟動(dòng)Spark。Step9測(cè)試Spark。5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31124手工部署Spark效果圖5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31125現(xiàn)有一原始文件rawFile0,要求將rawFile0均勻加載到cslave0、cslave1和cslave2中,然后對(duì)rawFile0中數(shù)據(jù)執(zhí)行過濾操作,過濾時(shí)要求只保留"aa"、"bb"這兩種字符。接著,將"aa"全部發(fā)往cslave0上、"bb"全部發(fā)往cslave1上。最后統(tǒng)計(jì)"aa"和"bb"這兩個(gè)單詞出現(xiàn)次數(shù)。示例1:使用MapReduce模式統(tǒng)計(jì)單詞出現(xiàn)次數(shù)aa,1bb,2aa,1bb,2cslave0cslave15.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311265.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31127valconf=newSparkConf()valsc:SparkContext=newSparkContext(conf)valrawRDDA=sc.parallelize(List("!!bb##cc","%%ccbb%%","cc&&++aa"),3)valrawRDDB=sc.parallelize(List(("xx",99),("yy",88),("xx",99),("zz",99)),2)valrawRDDC=sc.parallelize(List(("yy",88)),1)importorg.apache.spark.HashPartitionervartmpResultRDDA=rawRDDA.flatMap(line=>line.split("")).filter(allWord=>{allWord.contains("aa")||allWord.contains("bb")}).map(word=>(word,1)).partitionBy(newHashPartitioner(2)).groupByKey().map((P:(String,Iterable[Int]))=>(P._1,P._2.sum))vartmpResultRDDBC=rawRDDB.distinct.subtract(rawRDDC)valresultRDDABC=tmpResultRDDA.union(tmpResultRDDBC)resultRDDABC.saveAsTextFile("HDFS路徑")5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31128Zookeeper5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31129Zookeeper
為什么現(xiàn)實(shí)需求部分失敗當(dāng)一條消息在網(wǎng)絡(luò)中的兩個(gè)節(jié)點(diǎn)之間傳送時(shí),由于可能會(huì)出現(xiàn)各種問題,發(fā)送者無法知道接收者是否已經(jīng)接收到這條消息,比如在接收者還未接收到消息前,發(fā)生網(wǎng)絡(luò)中斷,再比如接收者接收到消息后發(fā)生網(wǎng)絡(luò)中斷,甚至是接收進(jìn)程死掉。發(fā)送者能夠獲取真實(shí)情況的唯一途徑是重新連接接收者,并向它發(fā)出詢問。即在分布式環(huán)境下甚至不知道一個(gè)操作是否已經(jīng)失敗。分布式系統(tǒng)固有特征網(wǎng)絡(luò)中斷iReceive宕機(jī)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31130Zookeeper
概念概念Zookeeper(又稱分布式鎖)是由開源組織Apache開發(fā)的一個(gè)的高效、可靠的分布式協(xié)調(diào)服務(wù)。Zookeeper典型應(yīng)用-工作過程5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31131Zookeeper數(shù)據(jù)結(jié)構(gòu)樹形目錄結(jié)構(gòu)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31132Zookeeper工作過程基于Paxos算法自身工作過程:選舉Leader、原子廣播對(duì)外服務(wù)過程:讀、讀任意一個(gè)節(jié)點(diǎn)對(duì)外服務(wù)過程:寫、Leader同意5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31133Zookeeper工作過程對(duì)外服務(wù)過程、讀:讀任意一個(gè)節(jié)點(diǎn)
讀某個(gè)Follow,調(diào)用該Follow的sync,確保給Follow盡量和Leader一致對(duì)外服務(wù)過程、寫:Leader同意
寫某個(gè)Follow時(shí),該Follow將寫轉(zhuǎn)發(fā)給Leader,Leader將該寫更新至集群內(nèi)其他機(jī)器,超過一半機(jī)器得到更新后,即認(rèn)為更新完成,寫操作成功5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31134Zookeeper
架構(gòu)架構(gòu)工作原理:Paxos算法5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31135Zookeeper部署5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31136Zookeeper應(yīng)用示例5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31137Zookeeper應(yīng)用示例5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31138Zookeeper讀寫操作5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311395.6Hadoop3.0生態(tài)圈組件HBase第五章Hadoop3.0:主流開源云架構(gòu)of31140HBase
為什么現(xiàn)實(shí)需求在線訪問分布式數(shù)據(jù)庫在線實(shí)時(shí)服務(wù)客戶欲實(shí)時(shí)讀HDFS里數(shù)據(jù)太慢緩存機(jī)制索引機(jī)制2006年谷歌發(fā)表論文BigTable,年末、微軟旗下自然語言搜索公司Powerset出于處理大數(shù)據(jù)的需求,按論文思想,開啟了HBase項(xiàng)目5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31141HBase
是什么概念是一個(gè)高可靠性、高性能、列存儲(chǔ)、可伸縮、實(shí)時(shí)讀寫的分布式數(shù)據(jù)庫系統(tǒng)基于列的而不是基于行的模式適合于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)HBase架構(gòu)在hadoop之上怎么架構(gòu)在hadoop之上HBase架構(gòu)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31142HBase
是什么架構(gòu)MemStoreStoreFileHfileStoreFileHfileMemStoreStoreFileHfileMemStoreStoreFileHfileStoreFileHfileMemStoreStoreFileHfileHMaster5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31143HBase
數(shù)據(jù)模型邏輯模型行健時(shí)間戳列族contents列族anchor列族mime"n.www"t9anchor:="CNN"t8anchor:my.look.ca="CNN.com"t6contents:html="<html>…"mime:type="text/html"t5contents:html="<html>…"t6contents:html="<html>…"行健時(shí)間戳列族contents"n.www"t6contents:html="<html>…"t5contents:html="<html>…"t3contents:html="<html>…"行健時(shí)間戳列族anchor"n.www"t9anchor:="CNN"t8anchor:my.look.ca="CNN.com"行健時(shí)間戳列族mime"n.www"t6mime:type="text/html"物理模型5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31144[allen@iclient0hbase-1.1.2]$bin/hbaseshell#進(jìn)入HBase命令行HBase(main):001:0>list#查看所有表HBase(main):002:0>create'member','id','personalAttr','socialAttr'#創(chuàng)建member表HBase(main):003:0>listHBase(main):004:0>scan'member'#查看member內(nèi)容HBase(main):005:0>put'member','201401','personalAttr:name','aa'#向表中插入數(shù)據(jù)HBase(main):006:0>put'member','201401','personalAttr:gender','0'HBase(main):007:0>put'member','201401','personalAttr:age','21'HBase(main):008:0>put'member','201401','socialAttr:edu','e0'HBase(main):009:0>put'member','201401','socialAttr:job','p3'HBase(main):010:0>put'member','201401','socialAttr:imcome','m'HBase(main):011:0>scan'member'HBase(main):012:0>disable'member'#廢棄member表HBase(main):013:0>drop'member'#刪除member表HBase(main):014:0>quit5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311455.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311465.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31147①假定Mysql里有member表,要求使用HBase的shell接口,在HBase中新建并存儲(chǔ)此表HBase
實(shí)例例題②簡(jiǎn)述HBase是否適合存儲(chǔ)問題①中的結(jié)構(gòu)化數(shù)據(jù)身份id姓名性別年齡教育職業(yè)收入201401aa021e0p3m201402bb122e1p2l201403cc123e2p1mKey行鍵Value列鍵列族personalAttr列族socialAttr身份ID姓名性別年齡教育職業(yè)收入201401aa021e0p3m201402bb122e1p2l201403cc123e2P1m5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31148身份ID姓名性別年齡教育職業(yè)收入201401aa021e0p3m201402bb122e1p2l201403cc123e2p1mKey行鍵Value列鍵列族personalAttr列族socialAttr身份ID姓名性別年齡教育職業(yè)收入201401aa021e0p3M201402bb122e1p2L201403cc123e2P1M5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311495.6Hadoop3.0生態(tài)圈組件Mahout第五章Hadoop3.0:主流開源云架構(gòu)of31150Mahout
為什么現(xiàn)實(shí)需求目的:機(jī)器學(xué)習(xí)算法、數(shù)據(jù)挖掘算法并行化大數(shù)據(jù)為數(shù)據(jù)挖掘帶來的困難5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311515.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31152Mahout
是什么組成聚類分類協(xié)同推薦算法工具類完成數(shù)據(jù)欲處理:轉(zhuǎn)成二進(jìn)制與矩陣5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311535.6Hadoop3.0生態(tài)圈組件Redis第五章Hadoop3.0:主流開源云架構(gòu)of311545.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311555.6Hadoop3.0生態(tài)圈組件Kafka第五章Hadoop3.0:主流開源云架構(gòu)of311565.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311575.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311585.6Hadoop3.0生態(tài)圈組件Flink第五章Hadoop3.0:主流開源云架構(gòu)of311595.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311605.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311615.6Hadoop3.0生態(tài)圈組件Flume第五章Hadoop3.0:主流開源云架構(gòu)of31162Flume
為什么現(xiàn)實(shí)需求生產(chǎn)機(jī)器(線上機(jī)器)一般不作為數(shù)據(jù)處理機(jī)器生產(chǎn)機(jī)器(線上機(jī)器)一般不作為數(shù)據(jù)處理機(jī)器宕機(jī)了怎么辦,誤操作怎么辦---故---線上機(jī)器都有嚴(yán)格負(fù)載監(jiān)控、如CPU50%就報(bào)警問:如何將線上機(jī)器產(chǎn)生的數(shù)據(jù)導(dǎo)入數(shù)據(jù)中心5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31163Flume
為什么現(xiàn)實(shí)需求斷網(wǎng)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31164Flume
是什么概念-典型應(yīng)用Flume是一個(gè)分布式高性能高可靠的數(shù)據(jù)傳輸工具典型應(yīng)用是將眾多生產(chǎn)機(jī)器日志數(shù)據(jù)實(shí)時(shí)導(dǎo)入HDFS它可以以簡(jiǎn)單的方式將不同數(shù)據(jù)源的數(shù)據(jù)導(dǎo)入到某個(gè)或多個(gè)數(shù)據(jù)中心5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31165Flume
是什么組成Source負(fù)責(zé)讀取原始數(shù)據(jù),目前Flume支持AvroSource,ThriftSource,ExecSource(即Shell),NetCatSource,SyslogSources,HTTPSource等大量類型,甚至用戶可以自定義Source,使用時(shí)僅需在配置文件里聲明即可Channel負(fù)責(zé)將從Source端傳來的數(shù)據(jù)存入到Channel,類型的:即Memory,JDBC和FileFlume的分用復(fù)用和過濾功能:定義并控制多個(gè)相互無關(guān)的Channel,實(shí)現(xiàn)數(shù)據(jù)發(fā)往不同地點(diǎn)而并不干涉Sink負(fù)責(zé)從Channel中取出并發(fā)送數(shù)據(jù),F(xiàn)lume當(dāng)前支持HDFS、Logger、Avro、Thrift,IRC,F(xiàn)ile,HBase等大量類型Sink,其實(shí)這些Sink內(nèi)部都是使用netty來發(fā)送數(shù)據(jù)的,只是發(fā)送的協(xié)議不同而已5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31166Flume
實(shí)例例題①要求發(fā)送端iClient使用telnet向cMaster發(fā)送數(shù)據(jù),而接收端cMaster開啟44444端口接收數(shù)據(jù),并將收到的數(shù)據(jù)顯示于命令行②要求發(fā)送端iClient將本地文件“/home/joe/source.txt”發(fā)往接收端cMaster,而接收端cMaster需將這些數(shù)據(jù)存入HDFS5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31167Flume簡(jiǎn)介Flume是一個(gè)分布式高性能、高可靠的數(shù)據(jù)傳輸工具,它可用簡(jiǎn)單的方式將不同數(shù)據(jù)源的數(shù)據(jù)導(dǎo)入某個(gè)或多個(gè)數(shù)據(jù)中心,典型應(yīng)用是將眾多生產(chǎn)機(jī)器日志數(shù)據(jù)實(shí)時(shí)導(dǎo)入HDFS。5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31168Flume體系架構(gòu)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31169Flume體系架構(gòu)SourceChannelSink讀取原始數(shù)據(jù)負(fù)責(zé)將從Source端傳來的數(shù)據(jù)存入Channel負(fù)責(zé)從Channel中取出并發(fā)送數(shù)據(jù)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31170SourceChannelSink讀取原始數(shù)據(jù)負(fù)責(zé)將從Source端傳來的數(shù)據(jù)存入Channel負(fù)責(zé)從Channel中取出并發(fā)送數(shù)據(jù)AvroSource,ThriftSource,ExecSource(即Shell),NetCatSource,SyslogSources,HTTPSourceChannel,即Memory,JDBC和File分用、復(fù)用和過濾HDFS、LoggerAvro、Thrift、IRCFile、Hbase5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31171AgentSourceChannelSink5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31172Flume典型應(yīng)用5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311735.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311745.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31175Flume典型應(yīng)用5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31176Flume與其他組件關(guān)系Flume與HDFSFlume本質(zhì):數(shù)據(jù)傳輸工具Flume傳輸工具Flume可將數(shù)據(jù)導(dǎo)入HDFSFlume可將數(shù)據(jù)導(dǎo)入HDFSHDFS存儲(chǔ)器Flume與MapReduce性質(zhì)不同F(xiàn)lume與Hive、Pig、Spark性質(zhì)不同5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31177Flume與其他組件關(guān)系Flume與SparkFlume本質(zhì):數(shù)據(jù)傳輸工具Flume與Storm性質(zhì)不同,可以為Spark準(zhǔn)備數(shù)據(jù)5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311785.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311795.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311805.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31181Flume與其他組件關(guān)系Flume本質(zhì):數(shù)據(jù)傳輸工具Flume與SqoopSqoop專門用于數(shù)據(jù)庫與HDFS間數(shù)據(jù)互導(dǎo)Flume與KafkaFlume與Chuwa5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31182部署FlumeStep1制定部署規(guī)劃Step2在數(shù)據(jù)源端部署FlumeStep3在數(shù)據(jù)匯端部署FlumeStep2在數(shù)據(jù)源端部署Flume解壓Flume、配置FlumeStep3在數(shù)據(jù)匯端部署Flume解壓Flume、配置Flume5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31183啟動(dòng)Flume配置Agent啟動(dòng)Flume應(yīng)用程序啟動(dòng)Agent5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31184實(shí)戰(zhàn)Flume要求發(fā)送端iclient0使用telnet向cmaster0發(fā)送數(shù)據(jù),而接收端cmaster0開啟44444端口接收數(shù)據(jù),并將收到的數(shù)據(jù)顯示于命令行要求發(fā)送端iclient0將本地文件“/home/allen/source.txt”發(fā)往接收端cmaster0,而接收端cmaster0將這些數(shù)據(jù)存入HDFS。5.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31185要求發(fā)送端iclient0使用telnet向cmaster0發(fā)送數(shù)據(jù),而接收端cmaster0開啟44444端口接收數(shù)據(jù),并將收到的數(shù)據(jù)顯示于命令行#命令此處agent名為a1,并命名此a1的sources為r1,channels為c1,sinks為k1a1.sources=r1a1.channels=c1a1.sinks=k1#定義sources相關(guān)屬性:即此sources在cmaster0上開啟44444端口接收以netcat協(xié)議發(fā)來的數(shù)據(jù)a1.sources.r1.type=netcata1.sources.r1.bind=cmaster0a1.sources.r1.port=44444#定義channels及其相關(guān)屬性,此處指定此次服務(wù)使用memory暫存數(shù)據(jù)a1.channels.c1.type=memorya1.channels.c1.capacity=1000a1.channels.c1.transactionCapacity=100#定義此sink為logger類型sink:即指定sink直接將收到的數(shù)據(jù)輸出到控制臺(tái)a1.sinks.k1.type=logger#將sources關(guān)聯(lián)到channels,channels關(guān)聯(lián)到sinks上a1.sources.r1.channels=c1a1.sinks.k1.channel=c15.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311865.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31187[allen@cmaster0~]#flume-ngagent-c/etc/flume-ng/-f/home/allen/flume-ng/conf/flume.conf-na1-Dflume.root.logger=INFO,console[allen@iclient0~]#telnetcmaster0444445.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of311885.6Hadoop3.0生態(tài)圈組件第五章Hadoop3.0:主流開源云架構(gòu)of31189要求發(fā)送端iclient0將本地文件“/home/allen/source.txt”發(fā)往接收端cmaster0,而接收端cmaster0將這些數(shù)據(jù)存入HDFS。#命令此處agent名為a1,并命名此a1的sources為r1,channels為c1,sinks為k1a1.sources=r1a1.sinks=k1a1.channels=c1#定義sources類型及其相關(guān)屬性#即此sources為avro類型,且其在cmaster0上開啟4141端口接收avro協(xié)議發(fā)來的數(shù)據(jù)a1.sources.r1.type=avroa1.sources.r1.bind=cmaster0a1.sources.r1.port=4141#定義chan
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 供電線路維修合同范例
- 企業(yè)營(yíng)銷設(shè)計(jì)合同樣本
- 2014超市供貨合同樣本
- 2025年餐飲店租賃合同范本
- 買賣狗狗合同樣本
- 光船租船合同樣本是
- 個(gè)人酒柜出售合同樣本
- 上海咨詢合同樣本
- 佛像貼金合同標(biāo)準(zhǔn)文本
- 供貨方逾期交貨合同樣本
- 病理生理學(xué)病例分析報(bào)告
- 三D打印公開課
- 補(bǔ)鐵劑中鐵元素的檢驗(yàn)-應(yīng)用配合物進(jìn)行物質(zhì)檢驗(yàn)高二化學(xué)魯科版(2019)選擇性必修2
- 基于深度學(xué)習(xí)的圖像分割
- 給水管網(wǎng)改造工程施工組織設(shè)計(jì)概述
- 營(yíng)業(yè)收入的預(yù)測(cè)分析報(bào)告
- 無人機(jī)工藝技術(shù)方案
- 從趙紫宸的神學(xué)思想看基督教與中國(guó)社會(huì)之關(guān)系
- 專車接送服務(wù)租賃合同
- 華為QSA審核報(bào)告
- 鋼筋籠(螺旋箍筋)工程量自動(dòng)計(jì)算表
評(píng)論
0/150
提交評(píng)論