版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ī)器之間通過(guò)網(wǎng)絡(luò)互相傳送數(shù)據(jù)Flume定制了大量的數(shù)據(jù)源〔Thrift、Shell〕與數(shù)據(jù)匯〔Thrift、HDFS、Hbase〕通過(guò)使用“管道〞,F(xiàn)lume能夠確保不會(huì)喪失一條數(shù)據(jù),提供了數(shù)據(jù)高可靠性66.7FlumeFlume組成SourceChannelSinkFlume76.7FlumeFlume組成SourceChannelSink它負(fù)責(zé)讀取原始數(shù)據(jù),目前Flume支持大量類型用戶可以自定義Source,使用時(shí)在配置文件里聲明即可。它負(fù)責(zé)將從Source端傳來(lái)的數(shù)據(jù)存入ChannelFlume的分用、復(fù)用和過(guò)濾功能即在于此它負(fù)責(zé)從Channel中取出并發(fā)送數(shù)據(jù)Sink內(nèi)部都是使用netty來(lái)發(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?!?〕部署Flume接收端:[root@cMaster~]#sudoyuminstallflume-ng-agent#在cMaster上部署Flume〔2〕部署Flume發(fā)送端:106.7FlumeFlume訪問(wèn)接口Flume提供了命令行接口和程序接口,無(wú)論是命令行還是程序接口,都必須使用Flume配置文檔,這也是Flume架構(gòu)思想之一——配置型工具。按要求完成問(wèn)題:進(jìn)入Flume命令行,查看常用命令。要求發(fā)送端iClient使用telnet向cMaster發(fā)送數(shù)據(jù),而接收端cMaster開(kāi)啟44444端口接收數(shù)據(jù),并將收到的數(shù)據(jù)顯示于命令行。要求發(fā)送端iClient將本地文件“/home/joe/source.txt〞發(fā)往接收端cMaster,而接收端cMaster將這些數(shù)據(jù)存入HDFS。根據(jù)問(wèn)題③,接收端cMaster開(kāi)啟接收數(shù)據(jù)的Flume效勞,既然此效勞能接收iClient發(fā)來(lái)的數(shù)據(jù),它必然也可以接收iHacker機(jī)器〔黑客〕發(fā)來(lái)的數(shù)據(jù),問(wèn)如何盡量減少端口攻擊,并保證數(shù)據(jù)平安?!纠?-7】11直接在iClient上執(zhí)行如下命令即可:6.7FlumeFlume訪問(wèn)接口對(duì)于問(wèn)題①[root@iClient~]#flume-ng#查看Flume常用命令首先需要在cMaster上按要求配置并開(kāi)啟Flume,接著在iClient上使用telnet向cMaster發(fā)送數(shù)據(jù),具體過(guò)程參見(jiàn)如下幾步。對(duì)于問(wèn)題②在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上開(kāi)啟44444端口接收以netcat協(xié)議發(fā)來(lái)的數(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訪問(wèn)接口136.7FlumeFlume訪問(wèn)接口接著在cMaster上使用此配置以前臺(tái)方式開(kāi)啟Flume效勞:[root@cMaster~]#flume-ngagent-c/etc/flume-ng/-f/etc/flume-ng/conf/flume.conf-na1此時(shí),接收端cMaster已經(jīng)配置好并開(kāi)啟了,接下來(lái)需要開(kāi)啟發(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上開(kāi)啟4141端口接收avro協(xié)議發(fā)來(lái)的數(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訪問(wèn)接口對(duì)于問(wèn)題③15接著,在iClient上新建文件“/root/businessLog〞,并填入如下內(nèi)容:6.7FlumeFlume訪問(wèn)接口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訪問(wèn)接口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訪問(wèn)接口至此,發(fā)送端iClient和接收端的Flume都已配置完成?,F(xiàn)在需要做的是在HDFS里新建目錄,并分別開(kāi)啟接收端Flume效勞和發(fā)送端Flume效勞,步驟如下。18問(wèn)題④屬于開(kāi)放性問(wèn)題,請(qǐng)讀者參考官方文檔,討論并解決。6.7FlumeFlume訪問(wèn)接口在cMaster上開(kāi)啟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上開(kāi)啟發(fā)送進(jìn)程,與上一條命令類似,這里的a1,即定義的a1:[root@iClient~]#flume-ngagent-c/etc/flume-ng/-f/etc/flume-ng/conf/flume.conf.exce-na1此時(shí),用戶在iClient端口里翻開(kāi)“cMaster:50070〞,依次進(jìn)入目錄“/user/joe/flume/cstorArchive〞,將會(huì)查看到從iClient上傳送過(guò)來(lái)的文件。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é)同過(guò)濾矩陣類型的二進(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提供了程序和命令行接口,通過(guò)參考Mahout已有的大量機(jī)器學(xué)習(xí)算法,程序員也可實(shí)現(xiàn)將某算法并行化。6.8MahoutMahout訪問(wèn)接口要求以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訪問(wèn)接口26#將總數(shù)據(jù)隨機(jī)分成兩局部,第一局部約占總數(shù)據(jù)80%,用來(lái)訓(xùn)練模型#剩下的約20%作為測(cè)試數(shù)據(jù),用來(lái)測(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)生過(guò)擬合〕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訪問(wèn)接口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í),用戶可以翻開(kāi)Web界面“cMaster:8088〞,查看正在執(zhí)行的Mahout任務(wù);還可以通過(guò)Web界面“cMaster:50070〞,定位到“/user/joe/mahout/〞查看目錄變化。6.8MahoutMahout訪問(wèn)接口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編程;算法開(kāi)發(fā)人員最好能熟
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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中國(guó)人壽保險(xiǎn)股份限公司嘉興分公司招聘15人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年重慶璧山區(qū)招聘事業(yè)單位人員擬聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省金陽(yáng)縣事業(yè)單位招聘96人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省事業(yè)單位歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川遂寧高新區(qū)部分事業(yè)單位招聘工作人員32人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川省資中縣事業(yè)單位招聘157人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年2025年菏澤市曹縣結(jié)合事業(yè)單位公開(kāi)招聘征集普通高等院校本科畢業(yè)生8人入伍高頻重點(diǎn)提升(共500題)附帶答案詳解
- 花鳥(niǎo)市場(chǎng)寵物店租賃合同
- 旅游服務(wù)提供商合作協(xié)議
- 智能家居系統(tǒng)采購(gòu)招投標(biāo)公函
- 2023風(fēng)電機(jī)組預(yù)應(yīng)力混凝土塔筒與基礎(chǔ)結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)
- 3D打印技術(shù)在醫(yī)療領(lǐng)域的應(yīng)用
- 2024年輔警考試公基常識(shí)300題(附解析)
- 倉(cāng)庫(kù)班長(zhǎng)年終總結(jié)
- 北京市海淀區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期期末英語(yǔ)試題
- LNG液化天然氣項(xiàng)目事故后果模擬分析評(píng)價(jià)
- 2024年湖北省漢江國(guó)有資本投資集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 脂肪肝健康教育-課件
- 廣州市九區(qū)聯(lián)考2023-2024學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量監(jiān)測(cè)數(shù)學(xué)試卷(原卷版)
- 體育與健康(水平二)《花樣跳繩一級(jí)動(dòng)作(18課時(shí))》大單元教學(xué)計(jì)劃
- 游戲方案模板
評(píng)論
0/150
提交評(píng)論