一、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. js 对象的循环

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

  2. 机器学习之SVD分解

    一.SVD奇异值分解的定义 假设是一个的矩阵,如果存在一个分解: 其中为的酉矩阵,为的半正定对角矩阵,为的共轭转置矩阵,且为的酉矩阵.这样的分解称为的奇异值分解,对角线上的元素称为奇异值,称为左奇异矩 ...

  3. Confluence 6 关于 Decorators

    Confluence 是使用开源的 SiteMesh 库构建的.一个 Web 页面的布局系统,这个布局系统能够在全站点中提供完整统一的界面和外观.SiteMesh 是通过 "decorato ...

  4. React-Native到0.44版本后Navigator 不能用的问题

    新升级  到0.46版本以后 Navigator 不能使用报错. 'Navigator is deprecated and has been removed from this package. It ...

  5. es2015(es6)基础知识整理(更新中...)

    1.let let可以声明块级作用域变量 'use strict'; if (true) { let app = 'apple'; } console.log(app); //外面是访问不到app的 ...

  6. hdu4990 转移矩阵

    找了半天错发现m有可能是1.. /* 如果n是奇数,就进行(n/2)次转移,然后取F[2],反之取F[1] */ #include<bits/stdc++.h> using namespa ...

  7. 10进制 VS 2进制

    10进制 VS 2进制 时间限制: 1 Sec  内存限制: 32 MB 题目描述 样例输出 623 #include<stdio.h> #include<string.h> ...

  8. Jmeter-JDBC Request参数化

    一.参数化 1.选择Query Type(查询类型)为Prepared Select Statement 2.写好sql 3.在Parameter Values中输入参数,多个参数用‘,’隔开 4.P ...

  9. ORA-27157 ORA-27300 ORA-27301

    目录: 问题现象 原因分析 解决方案 问题现象: 收到同事反馈,数据库无法连接.于是登录服务器发现,数据库莫名挂掉.实例crash,日志中记录截取一段如下: Errors in file /u01/a ...

  10. chart API笔记

    1. 参数说明 http://chart.apis.google.com/chart? chs=250x100 &chd=t:60,40 &cht=p3 &chl=Hello| ...