![云計(jì)算(第三版)配套之23第6章Hadoop20大家族(四)_第1頁](http://file4.renrendoc.com/view/039e191c31b33db4226be6eaba3ed23a/039e191c31b33db4226be6eaba3ed23a1.gif)
![云計(jì)算(第三版)配套之23第6章Hadoop20大家族(四)_第2頁](http://file4.renrendoc.com/view/039e191c31b33db4226be6eaba3ed23a/039e191c31b33db4226be6eaba3ed23a2.gif)
![云計(jì)算(第三版)配套之23第6章Hadoop20大家族(四)_第3頁](http://file4.renrendoc.com/view/039e191c31b33db4226be6eaba3ed23a/039e191c31b33db4226be6eaba3ed23a3.gif)
![云計(jì)算(第三版)配套之23第6章Hadoop20大家族(四)_第4頁](http://file4.renrendoc.com/view/039e191c31b33db4226be6eaba3ed23a/039e191c31b33db4226be6eaba3ed23a4.gif)
![云計(jì)算(第三版)配套之23第6章Hadoop20大家族(四)_第5頁](http://file4.renrendoc.com/view/039e191c31b33db4226be6eaba3ed23a/039e191c31b33db4226be6eaba3ed23a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
6.1Hadoop2.0大家族概述6.2ZooKeeper6.3Hbase6.4Pig6.5Hive6.6Oozie6.7Flume6.8Mahout6.9小結(jié)6.7Flume6.7.1Flume簡(jiǎn)介6.7.2Flume入門Flume核心思想是數(shù)據(jù)流46.7FlumeFlume邏輯結(jié)構(gòu)線上進(jìn)程不斷產(chǎn)生日志Flume讀取并發(fā)現(xiàn)日志W(wǎng)eb效勞器A線上進(jìn)程不斷產(chǎn)生日志Flume讀取并發(fā)現(xiàn)日志W(wǎng)eb效勞器B某效勞cSlave1某效勞cSlave0Flume接收并存入HDFScMaster其他效勞某效勞cSlave2云端集群56.7FlumeFlume邏輯結(jié)構(gòu)SourceSinkChannelWebserverHDFS用戶可以將Flume看成是兩臺(tái)機(jī)器之間通過網(wǎng)絡(luò)互相傳送數(shù)據(jù)Flume定制了大量的數(shù)據(jù)源〔Thrift、Shell〕與數(shù)據(jù)匯〔Thrift、HDFS、Hbase〕通過使用“管道〞,F(xiàn)lume能夠確保不會(huì)喪失一條數(shù)據(jù),提供了數(shù)據(jù)高可靠性66.7FlumeFlume組成SourceChannelSinkFlume76.7FlumeFlume組成SourceChannelSink它負(fù)責(zé)讀取原始數(shù)據(jù),目前Flume支持大量類型用戶可以自定義Source,使用時(shí)在配置文件里聲明即可。它負(fù)責(zé)將從Source端傳來的數(shù)據(jù)存入ChannelFlume的分用、復(fù)用和過濾功能即在于此它負(fù)責(zé)從Channel中取出并發(fā)送數(shù)據(jù)Sink內(nèi)部都是使用netty來發(fā)送數(shù)據(jù)的6.7Flume6.7.1Flume簡(jiǎn)介6.7.2Flume入門96.7FlumeFlume部署[root@iClient~]#sudoyuminstallflume-ng-agent#在iClient上部署Flume集群中只有一臺(tái)機(jī)器部署Flume就可以接收數(shù)據(jù)了,此外下面的例題中還要有一臺(tái)機(jī)器做為數(shù)據(jù)源,負(fù)責(zé)向Hadoop集群發(fā)送數(shù)據(jù),故須在cMaster與iClient上部署Flume。〔1〕部署Flume接收端:[root@cMaster~]#sudoyuminstallflume-ng-agent#在cMaster上部署Flume〔2〕部署Flume發(fā)送端:106.7FlumeFlume訪問接口Flume提供了命令行接口和程序接口,無論是命令行還是程序接口,都必須使用Flume配置文檔,這也是Flume架構(gòu)思想之一——配置型工具。按要求完成問題:進(jìn)入Flume命令行,查看常用命令。要求發(fā)送端iClient使用telnet向cMaster發(fā)送數(shù)據(jù),而接收端cMaster開啟44444端口接收數(shù)據(jù),并將收到的數(shù)據(jù)顯示于命令行。要求發(fā)送端iClient將本地文件“/home/joe/source.txt〞發(fā)往接收端cMaster,而接收端cMaster將這些數(shù)據(jù)存入HDFS。根據(jù)問題③,接收端cMaster開啟接收數(shù)據(jù)的Flume效勞,既然此效勞能接收iClient發(fā)來的數(shù)據(jù),它必然也可以接收iHacker機(jī)器〔黑客〕發(fā)來的數(shù)據(jù),問如何盡量減少端口攻擊,并保證數(shù)據(jù)平安?!纠?-7】11直接在iClient上執(zhí)行如下命令即可:6.7FlumeFlume訪問接口對(duì)于問題①[root@iClient~]#flume-ng#查看Flume常用命令首先需要在cMaster上按要求配置并開啟Flume,接著在iClient上使用telnet向cMaster發(fā)送數(shù)據(jù),具體過程參見如下幾步。對(duì)于問題②在cMaster上以root權(quán)限,新建文件“/etc/flume/conf/flume.conf〞,并填入如下內(nèi)容:12#命令此處agent名為a1,并命名此a1的sources為r1,channels為c1,sinks為k1a1.sources=r1a1.channels=c1a1.sinks=k1#定義sources相關(guān)屬性:即此sources在cMaster上開啟44444端口接收以netcat協(xié)議發(fā)來的數(shù)據(jù)a1.sources.r1.type=netcata1.sources.r1.bind=cMastera1.sources.r1.port=44444#定義channels及其相關(guān)屬性,此處指定此次效勞使用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=c16.7FlumeFlume訪問接口136.7FlumeFlume訪問接口接著在cMaster上使用此配置以前臺(tái)方式開啟Flume效勞:[root@cMaster~]#flume-ngagent-c/etc/flume-ng/-f/etc/flume-ng/conf/flume.conf-na1此時(shí),接收端cMaster已經(jīng)配置好并開啟了,接下來需要開啟發(fā)送端,在iClient上執(zhí)行:[root@iClient~]#telnetcMaster44444此時(shí)向此命令行里隨意輸入數(shù)據(jù)并回車,telnet會(huì)將這些數(shù)據(jù)發(fā)往cMaster,再次回到cMaster上執(zhí)行命令的那個(gè)終端,會(huì)發(fā)現(xiàn)剛剛在iClient里輸入的數(shù)據(jù)發(fā)送到了cMaster的終端里。如果想退出iClient終端里的telnet,按Ctrl+]組合鍵〔即同時(shí)按住Ctrl鍵和]鍵〕,回到telnet后輸入“quit〞命令回車即可,至于退出cMaster上的Flume,直接按Ctrl+C組合鍵。14首先,在cMaster上新建文件“/etc/flume-ng/conf/flume.conf.hdfs〞,并填入如下內(nèi)容:#命令此處agent名為a1,并命名此a1的sources為r1,channels為c1,sinks為k1a1.sources=r1a1.sinks=k1a1.channels=c1#定義sources類型及其相關(guān)屬性#即此sources為avro類型,且其在cMaster上開啟4141端口接收avro協(xié)議發(fā)來的數(shù)據(jù)a1.sources.r1.type=avroa1.sources.r1.bind=cMastera1.sources.r1.port=4141#定義channels類型其實(shí)相關(guān)屬性,此處指定此次效勞使用memory暫存數(shù)據(jù)a1.channels.c1.type=memory6.7FlumeFlume訪問接口對(duì)于問題③15接著,在iClient上新建文件“/root/businessLog〞,并填入如下內(nèi)容:6.7FlumeFlume訪問接口cccccccccccccccccccccssssssssssssssssssssssssttttttttttttttttttttttttttttttttttooooooooooooooooooorrrrrrrrrrrrrrrrrrrrrrrrrrrrr#定義此sink為HDFS類型的sink,且此sink將接收的數(shù)據(jù)以文本方式存入HDFS指定目錄a1.sinks.k1.type=hdfs a1.sinks.k1.hdfs.path=/user/joe/flume/cstorArchivea1.sinks.k1.hdfs.fileType=DataStream#將sources關(guān)聯(lián)到channels,channels關(guān)聯(lián)到sinks上a1.sources.r1.channels=c1a1.sinks.k1.channel=c116#命令此處agent名為a1,并命名此a1的sources為r1,channels為c1,sinks為k1a1.sources=r1a1.channels=c1a1.sinks=k1#定義sources類型及其相關(guān)屬性,此sources為exce類型#其使用Linuxcat命令讀取文件/root/businessLog,接著將讀取到的內(nèi)容寫入channela1.sources.r1.type=execa1.sources.r1mand=cat/root/businessLog#定義channels及其相關(guān)屬性,此處指定此次效勞使用memory暫存數(shù)據(jù)a1.channels.c1.type=memoryiClient上還要新建文件“/etc/flume-ng/conf/flume.conf.exce〞,并填入如下內(nèi)容:6.7FlumeFlume訪問接口17#定義此sink為avro類型sink,即其用avro協(xié)議將channel里的數(shù)據(jù)發(fā)往cMaster的4141端口a1.sinks.k1.type=avroa1.sinks.k1.hostname=cMastera1.sinks.k1.port=4141#將sources關(guān)聯(lián)到channels,channels關(guān)聯(lián)到sinks上a1.sources.r1.channels=c1a1.sinks.k1.channel=c16.7FlumeFlume訪問接口至此,發(fā)送端iClient和接收端的Flume都已配置完成?,F(xiàn)在需要做的是在HDFS里新建目錄,并分別開啟接收端Flume效勞和發(fā)送端Flume效勞,步驟如下。18問題④屬于開放性問題,請(qǐng)讀者參考官方文檔,討論并解決。6.7FlumeFlume訪問接口在cMaster上開啟Flume,其中“flume-ng…a1〞命令表示使用配置啟動(dòng)Flume,參數(shù)a1即是配置文件里第一行定義的那個(gè)a1。[root@cMaster~]#sudo-ujoehdfsdfs-mkdirflume#HDFS里新建目錄/user/joe/flume[root@cMaster~]#sudo-ujoeflume-ngagent-c/etc/flume-ng/-f/etc/flume-ng/conf/flume.conf.hdfs-na1最后,在iClient上開啟發(fā)送進(jìn)程,與上一條命令類似,這里的a1,即定義的a1:[root@iClient~]#flume-ngagent-c/etc/flume-ng/-f/etc/flume-ng/conf/flume.conf.exce-na1此時(shí),用戶在iClient端口里翻開“cMaster:50070〞,依次進(jìn)入目錄“/user/joe/flume/cstorArchive〞,將會(huì)查看到從iClient上傳送過來的文件。6.1Hadoop2.0大家族概述6.2ZooKeeper6.3Hbase6.4Pig6.5Hive6.6Oozie6.7Flume6.8Mahout6.9小結(jié)6.8Mahout6.8.1Mahout簡(jiǎn)介6.8.2Mahout入門216.8MahoutMahout簡(jiǎn)介Mahout算法分類聚類協(xié)同過濾矩陣類型的二進(jìn)制數(shù)據(jù)文本類型轉(zhuǎn)換6.8Mahout6.8.1Mahout簡(jiǎn)介6.8.2Mahout入門23作為Hadoop的一個(gè)客戶端,Mahout只要在集群中或集群外某臺(tái)客戶機(jī)上部署即可,實(shí)驗(yàn)中選擇在iClient上部署Mahout。6.8MahoutMahout部署
[root@iClient~]#sudoyuminstallmahout24Mahout提供了程序和命令行接口,通過參考Mahout已有的大量機(jī)器學(xué)習(xí)算法,程序員也可實(shí)現(xiàn)將某算法并行化。6.8MahoutMahout訪問接口要求以joe用戶運(yùn)行Mahout例如程序naivebayes,實(shí)現(xiàn)下載數(shù)據(jù),建立學(xué)習(xí)器,訓(xùn)練學(xué)習(xí)器,最后使用測(cè)試數(shù)據(jù)針對(duì)此學(xué)習(xí)器進(jìn)行性能測(cè)試?!纠?-8】解:首先須下載訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù),接著運(yùn)行訓(xùn)練MR和測(cè)試MR,但是,Mahout里的算法要求輸入格式為Value和向量格式的二進(jìn)制數(shù)據(jù),故中間還須加一些步驟,將數(shù)據(jù)轉(zhuǎn)換成要求格式的數(shù)據(jù),下面的腳本naivebayes.sh可以完成這些動(dòng)作。25#!/bin/sh#新建本地目錄,新建HDFS目錄mkdir-p/tmp/mahout/20news-bydate/tmp/mahout/20news-all&&hdfsdfs-mkdirmahout#下載訓(xùn)練和測(cè)試數(shù)據(jù)集curl:///jrennie/20Newsgroups/20news-bydate.tar.gz\#將數(shù)據(jù)集解壓、合并,并上傳至HDFScd/tmp/mahout/20news-bydate&&tarxzf/tmp/mahout/20news-bydate.tar.gz&&cdcp-R/tmp/mahout/20news-bydate/*/*/tmp/mahout/20news-allhdfsdfs-put/tmp/mahout/20news-allmahout/20news-all#使用工具類seqdirectory將文本數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)mahoutseqdirectory-imahout/20news-all-omahout/20news-seq-ow#使用工具類seq2sparse將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成算法能處理的矩陣類型二進(jìn)制數(shù)據(jù)mahoutseq2sparse-imahout/20news-seq-omahout/20news-vectors-lnorm-nv-wttfidf6.8MahoutMahout訪問接口26#將總數(shù)據(jù)隨機(jī)分成兩局部,第一局部約占總數(shù)據(jù)80%,用來訓(xùn)練模型#剩下的約20%作為測(cè)試數(shù)據(jù),用來測(cè)試模型mahoutsplit-imahout/20news-vectors/tfidf-vectors--trainingOutputmahout/20news-train-vectors\--testOutputmahout/20news-test-vectors\--randomSelectionPct40--overwrite--sequenceFiles-xmsequential#訓(xùn)練NaiveBayes模型mahouttrainnb-imahout/20news-train-vectors-el-omahout/model-limahout/labelindex-ow#使用訓(xùn)練數(shù)據(jù)集對(duì)模型進(jìn)行自我測(cè)試〔可能會(huì)產(chǎn)生過擬合〕mahouttestnb-imahout/20news-train-vectors-mmahout/model-lmahout/labelindex\-ow-omahout/20news-testing#使用測(cè)試數(shù)據(jù)對(duì)模型進(jìn)行測(cè)試mahouttestnb-imahout/20news-test-vectors-mmahout/model-lmahout/labelindex\-ow-omahout/20news-testing6.8MahoutMahout訪問接口27限于篇幅,腳本寫得簡(jiǎn)陋,執(zhí)行時(shí),切記須在iClient上,以joe用戶身份執(zhí)行,且只能執(zhí)行一次。再次執(zhí)行時(shí),先將所有數(shù)據(jù)全部刪除,執(zhí)行方式如下:[root@iClient~]#cpnaivebayes.sh/home/joe[root@iClient~]#chownjoe.joenaivebayes.sh[root@iClient~]#sudo–ujoechmod+xnaivebayes.sh[root@iClient~]#sudo–ujoeshnaivebayes.sh腳本執(zhí)行時(shí),用戶可以翻開Web界面“cMaster:8088〞,查看正在執(zhí)行的Mahout任務(wù);還可以通過Web界面“cMaster:50070〞,定位到“/user/joe/mahout/〞查看目錄變化。6.8MahoutMahout訪問接口6.1Hadoop2.0大家族概述6.2ZooKeeper6.3Hbase6.4Pig6.5Hive6.6Oozie6.7Flume6.8Mahout6.9小結(jié)296.9小結(jié)本章講解了最重要的分布式組件,對(duì)于這些組件,建議用戶深入學(xué)習(xí)Hbase與Hive;如果您是位程序員,除了MR編程外,建議學(xué)習(xí)ZooKeeper與Flume編程;算法開發(fā)人員最好能熟
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025會(huì)計(jì)基礎(chǔ)知識(shí)重點(diǎn):融資租賃合同
- 2025池塘清淤工程的施工合同
- 9 知法守法 依法維權(quán) 依法維權(quán)有途徑(說課稿)-部編版道德與法治六年級(jí)上冊(cè)
- 21 淡水資源 說課稿-2024-2025學(xué)年科學(xué)三年級(jí)上冊(cè)青島版
- 2025法律法規(guī)工傷員工續(xù)簽合同問題 管理資料
- 6將相和(第一課時(shí))說課稿-2024-2025學(xué)年五年級(jí)上冊(cè)語文統(tǒng)編版
- 農(nóng)村荒山承包合同范本
- 硬件維護(hù)投標(biāo)方案
- 2023二年級(jí)數(shù)學(xué)下冊(cè) 四 認(rèn)識(shí)萬以內(nèi)的數(shù)第8課時(shí) 近似數(shù)說課稿 蘇教版001
- Unit 1 Making friends PartA Let's talk(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級(jí)上冊(cè)
- 2025公司借款合同范本借款合同
- 2024年南京鐵道職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 正月十五元宵節(jié)介紹課件
- 病毒性肺炎疾病演示課件
- 中考英語語法填空專項(xiàng)練習(xí)附答案(已排版-可直接打印)
- 口腔醫(yī)學(xué)中的人工智能應(yīng)用培訓(xùn)課件
- 軟星酒店網(wǎng)絡(luò)規(guī)劃與設(shè)計(jì)
- 自然辯證法概論(新)課件
- 基層醫(yī)療機(jī)構(gòu)基本情況調(diào)查報(bào)告
- 六西格瑪(6Sigma)詳解及實(shí)際案例分析
- 機(jī)械制造技術(shù)-成都工業(yè)學(xué)院中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
評(píng)論
0/150
提交評(píng)論