日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

storm基础系列之五---------接入数据收集系统flume

發(fā)布時(shí)間:2025/1/21 windows 91 豆豆
生活随笔 收集整理的這篇文章主要介紹了 storm基础系列之五---------接入数据收集系统flume 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

1.基本結(jié)構(gòu)介紹

  flume是三層架構(gòu),agent,collector,storage。每一層都可水平擴(kuò)展。

  其中,agent就是數(shù)據(jù)采集方;collector是數(shù)據(jù)整合方;storage是各種數(shù)據(jù)落地方,如hdfs。

  前兩者都是由source和sink組成,source是數(shù)據(jù)讀取組件,sink是數(shù)據(jù)分發(fā)組件。

  前兩者作為不同類型node統(tǒng)一歸master管理。可在master shell活web中動(dòng)態(tài)配置。

2.自帶的source

  text 文件,按行發(fā)送

  tail 探測(cè)新產(chǎn)生數(shù)據(jù),安航發(fā)送

  fsyslog Tcp(5140) 監(jiān)聽(tīng)這個(gè)端口

  tailDir("dirname"[, fileregex=".*"[, startFromEnd=false[, recurseDepth=0]]]):監(jiān)聽(tīng)目錄中的文件末尾,使用正則去選定需要監(jiān)聽(tīng)的文件(不包含目錄),recurseDepth為遞歸監(jiān)聽(tīng)其下子目錄的深度

3.想采集windows服務(wù)器上的日志文件,于是,研究了flume怎么在windows下部署。

    • 我用的是flulm1.6版本,直接官網(wǎng)下載(不區(qū)分linux還是windows的)解壓縮到本地
    • 下載了一個(gè)tail工具,用于動(dòng)態(tài)讀取日志文件增加的內(nèi)容。原始下載地址找不到了,我放在自己云盤(pán)里:http://pan.baidu.com/s/1nuHt1H3 ? 提取碼:ihx2 如果不可用請(qǐng)留言。
    • 使用方法就是直接解壓縮,然后把exe文件放到C:/Windows/System32/ 下,驗(yàn)證方式是隨便找個(gè)txt文件,用tail -f 文件名??梢钥吹胶蚻inux一樣的效果。
    • 把flume/conf下的flume-env.sh.template 文件的template后綴去掉,然后在里面加上JAVA_HOME的配置:?export JAVA_HOME=D:\jdk1.8
    • 創(chuàng)建一個(gè)conf文件,exec_tail.conf,里面的內(nèi)容是關(guān)于flume的配置: a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = exec a1.sources.r1.channels = c1 a1.sources.r1.command = tail -f D:\hadoopResouce\flume\logs\log_exec_tail.txt # Describe the sink a1.sinks.k1.type = logger # Use a channel which buffers events in memory a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 # Bind the source and sink to the channel a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1

        其實(shí)里面需要修改的就是需要采集的文件全路徑

    • 我使用了網(wǎng)上推薦的寫(xiě)一堆命令的方式,不過(guò)啟動(dòng)了不見(jiàn)效果。于是我采用其他人推薦的,寫(xiě)一個(gè).bat方式。具體內(nèi)容是: set FLUME_HOME=D:\hadoopResouce\flume set JAVA_HOME=D:\jdk1.8 set JAVA="%JAVA_HOME%\bin\java.exe" set JAVA_OPTS=-Xmx1024m set CONF=%FLUME_HOME%\conf\flume-conf.properties set AGENT=agent %JAVA% %JAVA_OPTS% -Dflume.monitoring.type=http -Dflume.monitoring.port=34545 -Dlog4j.configuration=file:\\\%FLUME_HOME%\conf\log4j.properties -cp "%FLUME_HOME%\lib\*" org.apache.flume.node.Application -f %FLUME_HOME%\conf\flume-conf.properties -n %AGENT%

        需要注意的是幾處路徑的配置

    • 至此,全部準(zhǔn)備工作做完,下面在cmd進(jìn)入flume/bin目錄,執(zhí)行這個(gè).bat文件。
    • 通過(guò)http驗(yàn)證下:http://localhost:34545,能看到如下信息:

  { SOURCE.seqGenSrc: { EventReceivedCount: "0", Type: "SOURCE", AppendBatchAcceptedCount: "0", EventAcceptedCount: "2532", AppendReceivedCount: "0", StartTime: "1468487063825", AppendAcceptedCount: "0", OpenConnectionCount: "0", AppendBatchReceivedCount: "0", StopTime: "0" }, CHANNEL.memoryChannel: { ChannelCapacity: "100", ChannelFillPercentage: "99.0", Type: "CHANNEL", EventTakeSuccessCount: "2423", ChannelSize: "99", StartTime: "1468487063801", EventTakeAttemptCount: "2424", EventPutAttemptCount: "2524", EventPutSuccessCount: "2523", StopTime: "0" } }

4.讀取目錄新增加文件內(nèi)容的配置

a1.sources.r1.type = spooldir a1.sources.r1.channels = c1 a1.sources.r1.spoolDir = /home/master/yang/flume/logs a1.sources.r1.fileHeader = true

  

5.寫(xiě)入kafka的配置

  這里踩的坑較多,一種可能是老版本配置,還有一種就是有的人沒(méi)經(jīng)過(guò)試驗(yàn)的東西就貼出來(lái)了。引以為戒,自己測(cè)試通過(guò)再貼,保持嚴(yán)謹(jǐn),免得誤人。

//看好類全路徑是否都對(duì),網(wǎng)上有不靠譜的寫(xiě)法,org.apache.flume.plugins.SinglePartition 令人鄙視 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink //不知道為什么很多人這里項(xiàng)寫(xiě)為:a1.sinks.k1.metadata.broker.list,可能是之前版本有這個(gè)吧 a1.sinks.k1.brokerList =master:9092,slave1:9092,slave2:9092 a1.sinks.k1.serializer.class=kafka.serializer.StringEncoder //還有這玩意,這寫(xiě)法太坑人了a1.sinks.k1.custom.topic.name a1.sinks.k1.topic=kafka-storm-cluster a1.sinks.k1.channel=c1

6.讀取telnet監(jiān)控內(nèi)容配置sink

a1.sources.r1.type= netcat a1.sources.r1.bind= localhost a1.sources.r1.port= 44444

  

7.常用命令:

啟動(dòng): bin/flume-ng agent ?-c ./conf/ -f conf/spool.conf -Dflume.root.logger=DEBUG,console -n a1

?

轉(zhuǎn)載于:https://www.cnblogs.com/xyang/p/5667956.html

總結(jié)

以上是生活随笔為你收集整理的storm基础系列之五---------接入数据收集系统flume的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。