Flume的各种类型的组件介绍
1. Source
NetCat Source:绑定的端口(tcp、udp),将流经端口的每一个文本行数据作为Event输入;
type:source的类型,必须是netcat。
bind:要监听的(本机的)主机名或者ip。此监听不是过滤发送方。一台电脑不是说只有一个IP。有多网卡的电脑,对应多个IP。
port:绑定的本地的端口。
Avro Source:监听一个avro服务端口,采集Avro数据序列化后的数据;
type:avrosource的类型,必须是avro。
bind:要监听的(本机的)主机名或者ip。此监听不是过滤发送方。一台电脑不是说只有一个IP。有多网卡的电脑,对应多个IP。
port:绑定的本地的端口。
Exec Source:于Unix的command在标准输出上采集数据;
type:source的类型:必须是exec。
command:要执行命令。
Spooling Directory Source:监听一个文件夹里的文件的新增,如果有则采集作为source。
type:source 的类型:必须是spooldir
spoolDir:监听的文件夹 【提前创建目录】
fileSuffix:上传完毕后文件的重命名后缀,默认为.COMPLETED
deletePolicy:上传后的文件的删除策略never和immediate,默认为never。
fileHeader:是否要加上该文件的绝对路径在header里,默认是false。
basenameHeader:是否要加上该文件的名称在header里,默认是false。
2. Sink
HDFS Sink:将数据传输到hdfs集群中。
type:sink的类型 必须是hdfs。
hdfs.path:hdfs的上传路径。
hdfs.filePrefix:hdfs文件的前缀。默认是:FlumeData
hdfs.rollInterval:间隔多久产生新文件,默认是:30(秒) 0表示不以时间间隔为准。
hdfs.rollSize:文件到达多大再产生一个新文件,默认是:1024(bytes)0表示不以文件大小为准。
hdfs.rollCount:event达到多大再产生一个新文件,默认是:10(个)0表示不以event数目为准。
hdfs.batchSize:每次往hdfs里提交多少个event,默认为100
hdfs.fileType:hdfs文件的格式主要包括:SequenceFile, DataStream ,CompressedStream,如果使用了CompressedStream就要设置压缩方式。
hdfs.codeC:压缩方式:gzip, bzip2, lzo, lzop, snappy
注:%{host}可以使用header的key。以及%Y%m%d来表示时间,但关于时间的表示需要在header里有timestamp这个key。
Logger Sink将数据作为日志处理(根据flume中的设置的日志方式来显示)
要在控制台显示在运行agent的时候加入:-Dflume.root.logger=INFO,console 。
type:sink的类型:必须是 logger。
maxBytesToLog:打印body的最长的字节数 默认为16
Avro Sink:数据被转换成Avro Event,然后发送到指定的服务端口上。
type:sink的类型:必须是 avro。
hostname:指定发送数据的主机名或者ip
port:指定发送数据的端口
File Roll Sink:数据发送到本地文件。
type:sink的类型:必须是 file_roll。
sink.directory:存储文件的目录【提前创建目录】
batchSize:一次发送多少个event。默认为100
sink.rollInterval:多久产生一个新文件,默认为30s。单位是s。0为不产生新文件。【即使没有数据也会产生文件】
3.Channel
Memory Channel使用内存作为数据的存储。
Type channel的类型:必须为memory
capacity:channel中的最大event数目
transactionCapacity:channel中允许事务的最大event数目
File Channel 使用文件作为数据的存储
Type channel的类型:必须为 file
checkpointDir :检查点的数据存储目录【提前创建目录】
dataDirs :数据的存储目录【提前创建目录】
transactionCapacity:channel中允许事务的最大event数目
Spillable Memory Channel 使用内存作为channel超过了阀值就存在文件中
Type channel的类型:必须为SPILLABLEMEMORY
memoryCapacity:内存的容量event数
overflowCapacity:数据存到文件的event阀值数
checkpointDir:检查点的数据存储目录
dataDirs:数据的存储目录
4. Interceptor
Timestamp Interceptor 时间戳拦截器 在header里加入key为timestamp,value为当前时间。
type:拦截器的类型,必须为timestamp
preserveExisting:如果此拦截器增加的key已经存在,如果这个值设置为true则保持原来的值,否则覆盖原来的值。默认为false
Host Interceptor 主机名或者ip拦截器,在header里加入ip或者主机名
type:拦截器的类型,必须为host
preserveExisting:如果此拦截器增加的key已经存在,如果这个值设置为true则保持原来的值,否则覆盖原来的值。默认为false
useIP:如果设置为true则使用ip地址,否则使用主机名,默认为true
hostHeader:使用的header的key名字,默认为host
Static Interceptor 静态拦截器,是在header里加入固定的key和value。
type:avrosource的类型,必须是static。
preserveExisting:如果此拦截器增加的key已经存在,如果这个值设置为true则保持原来的值,否则覆盖原来的值。默认为false
key:静态拦截器添加的key的名字
value:静态拦截器添加的key对应的value值
5. Channel Selector
Multiplexing Channel Selector 根据header的key的值分配channel
selector.type 默认为replicating
selector.header:选择作为判断的key
selector.default:默认的channel配置
selector.mapping.*:匹配到的channel的配置
6. Sink Processor
负载均衡
a1.sinkgroups=g1
a1.sinkgroups.g1.sinks=k1 k2
a1.sinkgroups.g1.processor.type=load_balance
a1.sinkgroups.g1.processor.backoff=true
a1.sinkgroups.g1.processor.selector=round_robin
a1.sinkgroups.g1.processor.selector.maxTimeOut=30000
backoff:开启后,故障的节点会列入黑名单,过一定时间再次发送,如果还失败,则等待是指数增长;直到达到最大的时间。
如果不开启,故障的节点每次都会被重试。
selector.maxTimeOut:最大的黑名单时间(单位为毫秒)。
故障转移
a1.sinkgroups=g1
a1.sinkgroups.g1.sinks=k1 k2
a1.sinkgroups.g1.processor.type=failover
a1.sinkgroups.g1.processor.priority.k1=10
a1.sinkgroups.g1.processor.priority.k2=5
a1.sinkgroups.g1.processor.maxpenalty=10000
#maxpenalty 对于故障的节点最大的黑名单时间 (in millis 毫秒)
Flume的各种类型的组件介绍的更多相关文章
- ExtJS 4.2 组件介绍
目录 1. 介绍 1.1 说明 1.2 组件分类 1.3 组件名称 1.4 组件结构 2. 组件的创建方式 2.1 Ext.create()创建 2.2 xtype创建 1. 介绍 1.1 说明 Ex ...
- 开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)
在这个.NET组件的介绍系列中,受到了很多园友的支持,一些园友(如:数据之巅. [秦时明月]等等这些大神 )也给我提出了对应的建议,我正在努力去改正,有不足之处还望大家多多包涵.在传播一些简单的知识的 ...
- 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)
很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...
- 免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
在生活中有一种东西几乎已经快要成为我们的另一个电子”身份证“,那就是二维码.无论是在软件开发的过程中,还是在普通用户的日常中,几乎都离不开二维码.二维码 (dimensional barcode) , ...
- 高效而稳定的企业级.NET Office 组件Spire(.NET组件介绍之二)
在项目开发中,尤其是企业的业务系统中,对文档的操作是非常多的,有时几乎给人一种错觉的是”这个系统似乎就是专门操作文档的“.毕竟现在的很多办公中大都是在PC端操作文档等软件,在这些庞大而繁重的业务中,单 ...
- .NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下FluentValidation验证组件.那里只是概述了一下,并没有对其使用和强大功能做深入研究 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍
RDIFramework.NET ━ .NET快速信息化系统开发框架 工作流程组件介绍 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部 ...
- Android四大基本组件介绍与生命周期
Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器 ...
- 我的Android第三章:Android的组件介绍
小编摘录了Android文档介绍Android四大组件的基本内容,感觉文档的内容写的很详细所以小编将它写入了博客 Android 使用Java语言开发.Android SDK 工具编译代码-以及任意数 ...
随机推荐
- SpringCloud(一)Eureka注册中心
Eureka简介 Eureka作为注册中心,管理各种服务功能包括服务的注册.发现.熔断.负载.降级等 Eureka注册中心实例 Eureka Server 1.pom文件配置SpringBoot.Sp ...
- PHP爬虫百度图片
php pacong_1.php "酒","电报","电表","电波","电厂","电场& ...
- SGD训练时收敛速度的变化研究。
一个典型的SGD过程中,一个epoch内的一批样本的平均梯度与梯度方差,在下图中得到了展示. 无论什么样的网络结构,无论是哪一层网络的梯度,大体上都遵循下面这样的规律: 高信号/噪音比一段时间之后,信 ...
- 【SerpentAI:Python开源游戏智能体开发框架——相比OpenAI Universe可导入自己的游戏、可脱离Docker/VNC运行】
https://weibo.com/fly51fly?from=myfollow_all&is_all=1#1514439335614 [SerpentAI:Python开源游戏智能体开发框架 ...
- 模块化jQuery的方法
首先有一个格式是这样的 require.config({ paths:{ 'jquery':'libs/jquery-3.1.1', 'swiper':'libs/swiper.js' }}); re ...
- JAVA解决前端跨域问题。
什么是跨域? 通俗来说,跨域按照我自己的想法来理解,是不同的域名之间的访问,就是跨域.不同浏览器,在对js文件进行解析是不同的,浏览器会默认阻止,所以 现在我来说下用java代码解决前端跨域问题. 用 ...
- asp:DropDownList 使用
<asp:DropDownList ID="DropDownList1" runat="server" onchange="return My_ ...
- 解决Chrome 70及以上版本的证书问题:Failed to load resource: net::ERR_CERT_SYMANTEC_LEGACY
1.桌面必须要有Chrome 快捷方式 2.进入快捷方式属性 3.修改目标为:"C:\Program Files (x86)\Google\Chrome\Application\chrome ...
- (30)3 ways to make better decisions — by thinking like a computer
https://www.ted.com/talks/tom_griffiths_3_ways_to_make_better_decisions_by_thinking_like_a_computer0 ...
- lombok学习
lombok的官方地址:https://projectlombok.org/ lombok的Github地址:https://github.com/rzwitserloot/lombok lombok ...