Flume配置文件写法总结
一、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配置文件写法总结的更多相关文章
- flume配置文件
读文件log传入kafka中 agent.sources = s1 agent.channels = c1 agent.sinks = k1 agent.sources.s1.type=exec ag ...
- 2018.12.15 struts.xml 一般配置文件写法 && 配置动态方法
struts.xml 原始配置文件 配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE s ...
- python中配置文件写法
import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) print(BASE_DIR) USE ...
- log4j配置文件写法
### direct log messages to stdout ###log4j.rootLogger=DEBUG,stdoutlog4j.appender.stdout=org.apache.l ...
- pxelinux.0:winboot:网络引导(启动)wim格式的windows PE系统:配置文件写法
关键:加载wimboot引导模块,并传入参数 todo:通过标准kenerl的append传入启动参数..........todo.todo default menu.c32 label wimboo ...
- ipxe(可选):winboot:网络引导(启动)wim格式的windows PE系统:配置文件写法
ipxe 无盘[网络]引导wim格式的pe系统 wimboot引导程序需要为其提供4个内核参数 bcd bootmgr boot.sdi boot.wim 所需文件附件 以下是我的可用的ipxe的配置 ...
- Flume-Hbase-Sink针对不同版本flume与HBase的适配研究与经验总结
https://cloud.tencent.com/developer/article/1025430 Flume-Hbase-Sink针对不同版本flume与HBase的适配研究与经验总结 mike ...
- Flume 详解&实战
Flume 1. 概述 Flume是一个高可用,高可靠,分布式的海量日志采集.聚合和传输的系统.Flume基于流式架构,灵活简单. Flume的作用 Flume最主要的作用就是,实时读取服务器本地磁盘 ...
- Flume(3)source组件之NetcatSource使用介绍
一.概述: 本节首先提供一个基于netcat的source+channel(memory)+sink(logger)的数据传输过程.然后剖析一下NetcatSource中的代码执行逻辑. 二.flum ...
随机推荐
- Codeforces 1093E Intersection of Permutations [CDQ分治]
洛谷 Codeforces 思路 一开始想到莫队+bitset,发现要T. 再想到分块+bitset,脑子一抽竟然直接开始写了,当然也T了. 最后发现这就是个裸的CDQ分治-- 发现\(a\)不变,可 ...
- RHCE认证考前辅导
一一:Linux认证题库详细说明 注意事项 (1) RHCSA上午2.5小时,RHCE下午3.5小时,考生需对题目非常熟练. (2) 5样东西必带(身份证.1支黑色水笔.常用邮箱.姓名拼音.聪明的脑袋 ...
- 【Linux】基本命令操作
一.用户操作 1.新增用户 useradd -u 1101 -g zte -d /home/xhs -m xhs --其中,1101,为用户ID,尽量使用500以上的 zte,为用户组 /home/x ...
- 关系代数和sql语句对应关系
关系代数运算符 对应sql语句 聚合操作 ∪ (UNION)并 ∩ (INTERSECTION)交 - (DIFFERENCE)差 × (Cartesian PRODUCT)笛卡尔积 ...
- Brup Suite 渗透测试笔记(七)
继续接上次笔记: 1.Burp Intruder的payload类型的子模块(Character blocks)使用一种给出的输入字符,根据指定的设置产生指定大小的字符块,表现形式为生成指定长度的字符 ...
- windows下bat批处理执行sql语句__Mysql
直接上代码: @ECHO OFF SET dbhost=主机名(例如:127.0.0.1)SET dbuser=用户名(例如:root)SET dbpasswd=用户密码(例如:root)SET db ...
- 论文阅读笔记二十五:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPPNet CVPR2014)
论文源址:https://arxiv.org/abs/1406.4729 tensorflow相关代码:https://github.com/peace195/sppnet 摘要 深度卷积网络需要输入 ...
- 使用CSS选择器定位页面元素
摘录:http://blog.csdn.net/defectfinder/article/details/51734690 CSS选择器也是一个非常好用的定位元素的方法,甚至比Xpath强大.在自动化 ...
- python中利用上下文管理器来实现mysql数据库的封装
from pymysql import connect class DB(object): def __init__(self, password, database): # 1.连接数据库 self ...
- 005-2-Python文件操作
Python文件操作(file) 文件操作的步骤: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件(操作文件后记住关闭) 1.读写文件的基础语法: open() 将会返回一个 ...