博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flume的简单使用
阅读量:5979 次
发布时间:2019-06-20

本文共 3323 字,大约阅读时间需要 11 分钟。

一.flume介绍

1.flume是一个分布式的日志采集系统

2.在flume系统中,最核心的是agent,每个agent都相当于一个数据传递员。

  在agent内部有source,sink,channel

  source是获取数据的来源

  sink是采集数据的传送目的,往下一级agent传递或者网存储系统传递数据

  channel是agent内部传输通道,用于将数据从source传到sink

3.单个agent采集

 

  多个agent采集

二.flume的简单使用--采集来自端口的信息

1.首先要在flume的conf目录下新建一个文件netcat-logger.conf(文件名自定义)

2.在该文件下编写以下内容

a1.sources = r1a1.sinks = k1a1.channels = c1# describe sourcea1.sources.r1.type = netcata1.sources.r1.bind = localhosta1.sources.r1.port = 44444# describe sinka1.sinks.k1.type = logger# describe channela1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100# describe the ralationship between source channel sinka1.sources.r1.channels = c1a1.sinks.k1.channel = c1

注意:最后一行的a1.sinks.k1.channel就是这么写,而不是a1.sinks.k1.channels

3.启动flume

在flume目录下输入如下命令

bin/flume-ng agent -c conf -f conf/netcat-logger.conf  -n a1 -Dflume.root.logger=INFO,console

其中 -c是指定配置文件所在目录

-f是配置采集方案的文件

-n是指定我们的agent的名字

-Dflume.root.logger=INFO,console 是设置日志等级

4.测试

首先打开telnet,并向flume监听的端口发送消息

telnet localhost 44444

这时候在telnet发送的消息,flume都会在终端打印出来

telnet发送内容:

flume采集到的内容:

三.flume的简单使用--采集文件流信息

1.首先要在flume的conf目录下新建一个文件netcat-logger.conf(文件名自定义)

2.在该文件下编写以下内容

a1.sources = r1a1.sinks = k1a1.channels = c1# describe sourcea1.sources.r1.type = spooldira1.sources.r1.spoolDir = [监测的本地文件目录地址]a1.sources.r1.fileHeader = true# describe sinka1.sinks.k1.type = logger# describe channela1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100# describe the ralationship between source channel sinka1.sources.r1.channels = c1a1.sinks.k1.channel = c1

3.启动flume

在flume目录下输入如下命令

bin/flume-ng agent -c conf -f conf/netcat-logger.conf  -n a1 -Dflume.root.logger=INFO,console

其中 -c是指定配置文件所在目录

-f是配置采集方案的文件

-n是指定我们的agent的名字

-Dflume.root.logger=INFO,console 是设置日志等级

4.测试

首先向待检测目录粘贴一个文件

flume采集之后会在终端输出信息

在检测目录中,传入的文件会被修改文件名,即在文件名后边添加.COMPLETED.

四.flume的简单使用--采集文件流信息到hdfs

1.首先要在flume的conf目录下新建一个文件netcat-logger.conf(文件名自定义)

2.在该文件下编写以下内容

a1.sources = r1a1.sinks = k1a1.channels = c1# describe source,here is the file test.loga1.sources.r1.type = exec# we will wirte something to the test.loga1.sources.r1.command = tail -F [本地文件路径]a1.sources.r1.channels = c1# describe the sinka1.sinks.k1.type = hdfsa1.sinks.k1.channel = c1a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/a1.sinks.k1.hdfs.filePrefix = events-a1.sinks.k1.hdfs.round = truea1.sinks.k1.hdfs.roundValue = 10a1.sinks.k1.hdfs.roundUnit = minute # 以下三个条件满足一条就会将记录下沉到hdfs# 条件1:时间间隔是3sa1.sinks.k1.hdfs.rollInterval = 3# 条件2:文件写入字符数量超过500字节a1.sinks.k1.hdfs.rollSize = 500# 条件3:文件的更新事件超过20条a1.sinks.k1.hdfs.rollCount = 20a1.sinks.k1.hdfs.batchSize = 5a1.sinks.k1.hdfs.useLocalTimeStamp = truea1.sinks.k1.hdfs.fileType = DataStreama1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100a1.sources.r1.channels = c1a1.sinks.k1.channel = c1

3.启动flume

在flume目录下输入如下命令

bin/flume-ng agent -c conf -f conf/netcat-logger.conf  -n a1 -Dflume.root.logger=INFO,console

其中 -c是指定配置文件所在目录

-f是配置采集方案的文件

-n是指定我们的agent的名字

-Dflume.root.logger=INFO,console 是设置日志等级

4.测试

首先要建立一个本地文件,之后要定时写入数据定时写入数据脚本如下,直接在终端输入这些命令就可以做到定时向文件写入数据"1111"

while truedoecho 1111 >> [文件路径]sleep 1done

之后在flume终端会打印消息

此时查看hdfs,会发现指定目录下也会有文件产生

此时说明数据已经写入到hdfs

转载于:https://www.cnblogs.com/ManchesterCityCoder/p/10843060.html

你可能感兴趣的文章
PHP explode() 函数
查看>>
datatables中的Options总结(2)
查看>>
图片不能显示
查看>>
DevExpress 第三方控件汉化的全部代码和使用方法 (转载)
查看>>
WinForm控件使用文章收藏整理完成
查看>>
正确释放WORD对象(COM组件) COMException: 被调用的对象已与其客户端断开连接
查看>>
重谈设计
查看>>
mac 查看python路径
查看>>
【转】asm.js 和 Emscripten 入门教程
查看>>
office2007word文档设置多级目录
查看>>
SASS详解之编译输出的样式
查看>>
利用内存分析工具(Memory Analyzer Tool,MAT)分析java项目内存泄露
查看>>
linux查看CPU性能及工作状态的指令mpstat,vmstat,iostat,sar,top
查看>>
论iOS开发与Android开发的前景与薪资水平
查看>>
三叶虫为什么可以成为地球生物圈的第一个霸主?
查看>>
聚焦数据智能,袋鼠云亮相2018云栖大会
查看>>
华为发布首款全面屏+四摄手机 主流手机市场迎新貌
查看>>
智慧城市物联网收入将在2026年达620亿美元
查看>>
NBA公布新秀赛名单:塔图姆、西蒙斯领衔 欧文成教练
查看>>
120幅中国近现代国画大师真迹长沙展出
查看>>