一、agent

  第一步是定义agent(代理)及agent下的sources、channels、sinks的简称,如下:

  a1.sources = r1
  a1.sinks = k1
  a1.channels = c1

二、sources

  第二步是定义sources(接收数据源),以下是常见的sources类型:

  1.type = netcat  =>监视一个端口,需要端口名称、端口号:

    bind = localhost

    port = 44444

  2.type = exec  =>监视一个文件,需要命令行、命令行使用的脚本

    command = tail -F /opt/jars/calllog.csv

    shell = /usr/bin/bash -c

  3.type = spooldir  =>监视一个文件夹,需要文件夹路径

    可以添加进入文件夹文件的后缀名、可以添加绝对路径的文件名、通过正则表达式过滤以tmp结尾的文件

    spoolDir = /root/spooldir

    fileSuffix = .COMPLETED

    fileHeader = true

    ignorePattern = ([^]*\.tmp)

  4.selector.type = replicating  =>将数据量复制给多个channel

  5.type = avro  =>通过端口接收数据,需要端口名称、端口号

    bind = hd1-1

    port = 4141

三、channels

  第三步是设置channel(管道)的类型等

  1.tpye = memory  =>使用内存为管道,设置内存总容量、每次传输的容量

    capacity =1000

    transactionCapacity =100

  2.使用磁盘作为管道

四、sink

  第四步是设置sink(下沉)的类型和细节设置

  1.type = logger  =>输出日志文件,用于监控端口直接在端口输出接受的数据

  2.type = hdfs  =>输出到hdfs,

    hdfs.path = hdfs://hd1-1:9000/flume/%Y%m%d/%H  =>设置hdfs的路径

    hdfs.filePrefix = logs-  =>设置文件的前缀

    hdfs.round = true  =>按照时间滚动文件夹

    hdfs.roundValue = 1  =>多长时间创建一个新文件夹

    hdfs.roundUnit = minute  =>定义时间的单位

    hdfs.useLocalTimeStamp = true  =>使用本地时间戳

    hdfs.batchSize = 500  =>积攒到少event后flush到hdfs一次

    hdfs.fileType = DataStream  =>设置文件类型,可支持压缩

    hdfs.rollInterval = 30  =>多久生成一个新文件

    hdfs.rollSize = 134217700  =>设置每个文件的滚动大小

    hdfs.rollCount = 0  =>滚动与Event无关

    hdfs.minBlockReplicas = 1  =>最小冗余数(及备份数,hdfs自带无需配置)

  3.type = avro  =>将数据发送到端口,需要设置端口名称、端口号

    hostname = hd1-1

    port = 4141

  4.type = file_roll  =>将数据传输到本地文件,需要设置文件路径

    sink.directory = /root/flume2  注意flume2文件夹需要自己创建

  5.type = org.apache.flume.sink.kafka.KafkaSink  =>将数据传输到kafka

    需要设置集群的机器名称和端口号、主题、batchSize、Ack机制

    brokerList = hd1-1:9092,hd1-2:9092,hd1-3:9092

    topic = calllog

    batchSize = 20

    requiredAcks =1   ACK机制(1、0、-1,1是最安全的)

五、bind

  a1.sources.r1.channels = c1

  a1.sinks.k1.channel = c1

Flume配置文件写法总结的更多相关文章

  1. flume配置文件

    读文件log传入kafka中 agent.sources = s1 agent.channels = c1 agent.sinks = k1 agent.sources.s1.type=exec ag ...

  2. 2018.12.15 struts.xml 一般配置文件写法 && 配置动态方法

    struts.xml 原始配置文件 配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE s ...

  3. python中配置文件写法

    import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) print(BASE_DIR) USE ...

  4. log4j配置文件写法

    ### direct log messages to stdout ###log4j.rootLogger=DEBUG,stdoutlog4j.appender.stdout=org.apache.l ...

  5. pxelinux.0:winboot:网络引导(启动)wim格式的windows PE系统:配置文件写法

    关键:加载wimboot引导模块,并传入参数 todo:通过标准kenerl的append传入启动参数..........todo.todo default menu.c32 label wimboo ...

  6. ipxe(可选):winboot:网络引导(启动)wim格式的windows PE系统:配置文件写法

    ipxe 无盘[网络]引导wim格式的pe系统 wimboot引导程序需要为其提供4个内核参数 bcd bootmgr boot.sdi boot.wim 所需文件附件 以下是我的可用的ipxe的配置 ...

  7. Flume-Hbase-Sink针对不同版本flume与HBase的适配研究与经验总结

    https://cloud.tencent.com/developer/article/1025430 Flume-Hbase-Sink针对不同版本flume与HBase的适配研究与经验总结 mike ...

  8. Flume 详解&实战

    Flume 1. 概述 Flume是一个高可用,高可靠,分布式的海量日志采集.聚合和传输的系统.Flume基于流式架构,灵活简单. Flume的作用 Flume最主要的作用就是,实时读取服务器本地磁盘 ...

  9. Flume(3)source组件之NetcatSource使用介绍

    一.概述: 本节首先提供一个基于netcat的source+channel(memory)+sink(logger)的数据传输过程.然后剖析一下NetcatSource中的代码执行逻辑. 二.flum ...

随机推荐

  1. 转:如何在Vue项目中使用vw实现移动端适配

    https://www.w3cplus.com/mobile/vw-layout-in-vue.html 有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flex ...

  2. Swift 学习- 07 -- 函数

    // 函数 // 函数是一段完成特定任务的独立代码片段, 你可以通过给函数命名来标识某个函数的功能, 这个名字可以被用来在需要的时候'调用'这个函数来完成它的任务 // swift 统一的函数语法非常 ...

  3. SQL Server 2012-2016-2017 简体中文版下载和序列号

    注:本文来源于<SQL Server 2012-2016-2017 简体中文版下载和序列号> SqlServer 2017 下载地址及密钥 下载地址:ed2k://|file|cn_sql ...

  4. Confluence 6 从外部小工具中注册访问

    希望从 Confluence 中删除一个小工具,你可以选择小工具边上的 URL ,然后单击删除(Delete). 如果你希望取消订阅一个应用的小工具,你需要删除整个订阅.你不能仅仅删除你订阅中的某一个 ...

  5. jquery通过visible来判断标签是否显示或隐藏

    if($(".spnTotal").is(":visible")==false) { alert('隐藏'); } else { alert('显示'); } 

  6. js工具库---Lodash

    Lodash是一个一致性.模块化.高性能的 JavaScript 实用工具库 为什么选择 Lodash ? Lodash 通过降低 array.number.objects.string 等等的使用难 ...

  7. bat如何实现图片与名字匹配重命名

    背景:有一批图片按顺序截取,需要按照规定的名称进行重名命. 问题:用批处理怎么实现呢?(公司电脑手动重名时,卡的不要不要的) No1:解决:将规定的名称放入criterion.txt中,将批处理Ren ...

  8. 【python】json中字典key不可为数值型

    遇到了一个很诡异的错误.写一个字典,存入json文件.之后读出判断是否存在key.结果惊奇的发现,同一个key居然存在两次. 原因:json会将数值key转换为unicode 结论:使用json时字典 ...

  9. Python全栈习题一

    1.执行 Python 脚本的两种方式 a../run.py  直接在命令行调用python脚本: b.python run.py 调用python解释器来调用Python脚本. 2.简述位.字节的关 ...

  10. CF 1051F

    题意:给定一张n个点,m条边的无向联通图,其中m-n<=20,共q次询问,每次询问求给定两点u,v间的最短路长度 第一眼看见这题的时候,以为有什么神奇的全图最短路算法,满心欢喜的去翻了题解,发现 ...