一、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. hive学习02-累加

    求出当月的访问次数,截至当月前的每个月最大访问次数.截至当月前每个用户总的访问次数. 数据表如下 A,-, A,-, B,-, A,-, B,-, A,-, A,-, A,-, B,-, B,-, A ...

  2. js 对象的循环

    var car = {type:"Fiat", model:500, color:"white"}; var arr = array(); for(i in c ...

  3. swift 学习- 22 -- 嵌套类型

    // 枚举 常备用于为特定的类 或 结构体实现某些功能, 类似的, 枚举可以方便的定义工具类 或 结构体, 从而为某个复杂的类型所使用, 为了实现这种功能, Swift 允许你定义 嵌套类型, 可以在 ...

  4. Oracle12c Data Guard搭建手册

    Oracle12c Data Guard搭建手册 注:本文来源: 红黑联盟 < Oracle12c Data Guard搭建手册 > Oracle 12c 的DataGuard 是在CDB ...

  5. js操作数组元素

    一, 删除数组指定的某个元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) ...

  6. ajax补充--------FormData等...

    一.回顾上节知识点 1.什么是json字符串? 轻量级的数据交换格式 2.定时器:关于setTimeout setTimeout(foo,3000)  # 3000表示3秒,foo表示一个函数,3秒后 ...

  7. 剑指offer 二叉树的层序遍历

    剑指offer 牛客网 二叉树的层序遍历 # -*- coding: utf-8 -*- """ Created on Tue Apr 9 09:33:16 2019 @ ...

  8. kali linux revealed mastering the penetration testing distribution

    1.本博客记载的是这本书的学习笔记,还有出现的一些不懂的单词 我也将会记载这篇博客中.记载顺序是按照本书的章节顺序来记载的.最喜欢本书中的一句   you havae no idea how good ...

  9. django----注意事项

    不用带参数 必须要带参数:

  10. poj1155 依赖背包

    /* 依赖背包 dp[i][j]表示i结点为根的树选择j个用户时的最大剩余费用 即背包容量是j,价值是最大费用 */ #include<iostream> #include<cstr ...