Flume是一个分布式的高可用的消费组件。通过修改配置文件,可以启动不同的agent处理不同来源的数据。

agent包含source,channel,sink三个组件。今天我们学习下source的type。

1. spooldir

#描述/配置Source
a1.sources.r1.type = spooldir
a1.sources.r1.spoolDir=/home/park/work/apache-flume-1.6.-bin/mydata

  向指定目录中传输文件,发现flume收集到了该文件,将文件中的每一行都作为日志来处理

2.NetCat Source

   一个NetCat Source用来监听一个指定端口,并将接收到的数据的每一行转换为一个事件。

  !type–   类型名称,需要被设置为"netcat"

  !bind–   指定要绑定到的ip或主机名。

  !port–   指定要绑定到的端口号

  max-line-length   512单行最大字节数

3.Avro Source

  监听AVRO端口来接受来自外部AVRO客户端的事件流。利用Avro Source可以实现多级流动、扇出流、扇入流等效果。另外也可以接受通过flume提供的Avro客户端发送的日志信息。

  !type  –   类型名称,"AVRO"

  !bind  –   需要监听的主机名或IP

  !port  –   要监听的端口

  threads    –   工作线程最大线程数

  selector.type

  selector.*

  interceptors  –   空格分隔的拦截器列表

  interceptors.*

  compression-type  none   压缩类型,可以是“none”或“default”,这个值必须和AvroSource的压缩格式匹配

  sslfalse  是否启用ssl加密,如果启用还需要配置一个“keystore”和一个“keystore-password”。

  keystore   –   为SSL提供的java密钥文件所在路径。

  keystore-password–   为SSL提供的java密钥文件 密码。

  keystore-typeJKS密钥库类型可以是“JKS”或“PKCS12”。

  exclude-protocolsSSLv3  空格分隔开的列表,用来指定在SSL / TLS协议中排除。SSLv3将总是被排除除了所指定的协议。

  ipFilter   false  如果需要为netty开启ip过滤,将此项设置为true

  ipFilterRules–   定义netty的ip过滤设置表达式规则

#描述/配置Source
a1.sources.r1.type = avro
a1.sources.r1.bind = 0.0.0.0
a1.sources.r1.port =

4.HTTP Source

  HTTP Source接受HTTP的GET和POST请求作为Flume的事件,其中GET方式应该只用于试验。

  该Source需要提供一个可插拔的"处理器"来将请求转换为事件对象,这个处理器必须实现HTTPSourceHandler接口,该处理器接受一个 HttpServletRequest对象,并返回一个Flume Envent对象集合。

  从一个HTTP请求中得到的事件将在一个事务中提交到通道中。因此允许像文件通道那样对通道提高效率。

  如果处理器抛出一个异常,Source将会返回一个400的HTTP状态码。

  如果通道已满,无法再将Event加入Channel,则Source返回503的HTTP状态码,表示暂时不可用。

  !type    类型,必须为"HTTP"

  !port–   监听的端口

  bind   0.0.0.0    监听的主机名或ip

  handler      org.apache.flume.source.http.JSONHandler处理器类,需要实现HTTPSourceHandler接口

  handler.*  –   处理器的配置参数

  selector.type

  selector.*

  interceptors  –

  interceptors.*

  enableSSL  false  是否开启SSL,如果需要设置为true。注意,HTTP不支持SSLv3。

  excludeProtocols  SSLv3  空格分隔的要排除的SSL/TLS协议。SSLv3总是被排除的。

  keystore      密钥库文件所在位置。

  keystorePassword Keystore 密钥库密码

#描述/配置Source
a1.sources.r1.type = http
a1.sources.r1.port =

Flume source 支持的type类型的更多相关文章

  1. HTTP请求415错误 – 不支持的媒体类型(Unsupported media type)

    HTTP请求415错误 – 不支持的媒体类型(Unsupported media type) 通常有以下情况: 1:检查你的 http 请求头信息,比如 因为 User-Agent 被服务器设置 拒绝 ...

  2. Flume -- Transfer one type of source to another type

    Source within Flume is a kind of Server for outside client. Sink within Flume is a kind of client fo ...

  3. [.NET Core]ASP.NET Core中如何解决接收表单时的不支持的媒体类型(HTTP 415 Unsupported Media Type)错误呢?

    [.NET Core]ASP.NET Core中如何解决接收表单时的不支持的媒体类型(HTTP 415 Unsupported Media Type)错误呢? 在ASP.NET Core应用程序中,接 ...

  4. Flume Source 实例

    Flume Source 实例 Avro Source 监听avro端口,接收外部avro客户端数据流.跟前面的agent的Avro Sink可以组成多层拓扑结构. 1 2 3 4 5 6 7 8 9 ...

  5. 了解HTML表单之input元素的23种type类型

    目录 传统类型 text password file radio checkbox hidden button image reset submit 新增类型 color tel email url ...

  6. JSON支持什么对象/类型?

    原文:JSON支持什么对象/类型? 当一个面试官问你: JSON都支持什么对象/类型?你怎么回答? 也许他的本意是下面这个答案: JSON格式支持的数据类型有以下: 类型 描述 Number 在Jav ...

  7. HTML(七)HTML 表单(form元素介绍,input元素的常用type类型,input元素的常用属性)

    前言 表单是网页与用户的交互工具,由一个<form>元素作为容器构成,封装其他任何数量的表单控件,还有其他任何<body>元素里可用的标签 表单能够包含<input> ...

  8. 一个高性能的对象属性复制类,支持不同类型对象间复制,支持Nullable<T>类型属性

    由于在实际应用中,需要对大量的对象属性进行复制,原来的方法是通过反射实现,在量大了以后,反射的性能问题就凸显出来了,必须用Emit来实现. 搜了一圈代码,没发现适合的,要么只能在相同类型对象间复制,要 ...

  9. 如何方便的结果ajax使用html5的新type类型

    今天需要做手机端的输入表单自动生成器,突然就想到了手机端对input的输入类型支持还不错,于是翻遍了资料,有了下面的使用方法,闲话少说,上正文: html5现在可以用的新input type类型一共有 ...

随机推荐

  1. [Python] 代码中有中文注释会报错

    原因 如果文件里有非ASCII字符,需要在第一行或第二行指定编码声明. 解决方法 在第一行或是第二行加入这么一句# -- coding: utf-8 -- ASCII知识普及: ASCII(Ameri ...

  2. python 字符串占位符的使用

    name2='我是{} 我的专业是 {}'.format('张三','计算机科学技术')print(name2)

  3. spring colud 博客

    https://blog.csdn.net/forezp/article/details/70148833

  4. ajax 跨域请求没有带上cookie 解决办法

    公司项目前后端分离.. 前端全部html 静态页面.. 后端java 接口服务 由于前后端分离,出现跨域问题. 为了解决,我们使用jsonp 方式请求接口服务,暂时解决了跨域问题(使用jquery a ...

  5. coocsCreator杂记

    判断是否继承 cc.isChildClassOf = function (subclass, superclass) { 获取所有super classes CCClass.getInheritanc ...

  6. mybatis3.2初学感悟

    新手,学了mybatis框架一周,写点感悟下来. mybatis,是操作数据库,持久层的一个框架,它是对JDBC的封装.看到了这个框架,我突然感受到封装与抽象的力量.也明白了些为什么要分层的原因. 记 ...

  7. Activiti 5.18启动流程到完成所有任务之间的数据库变化(转)

    来写一下Activiti 5.18版本从启动流程到整个流程结束之间数据库表的变化 先给出流程图,很简单的流程,就是两个UserTask: 代码如下: DeploymentBuilder builder ...

  8. 数组方法concat & slice

    掌握数组的操作方法: concat() /  slice() concat() 语法: arrayObject.concat(arrayX,arrayY,....,arrayZ) 功能:用于连接两个或 ...

  9. clion配置c/c++环境

    打开这个界面  点击添加Cygwin选择下载的Cygwin在进行下面的配置 去网站https://www.cygwin.com/选择路径即可(这里只写了配置过程中的关键步骤并且附上IDE的链接直接安装 ...

  10. java运行报错:nested exception is java.lang.NoSuchFieldError: INSTANCE,但使用@Test测试是好的

    解决方法: 原因是,在tomcat里,同名不同版本的jar包,默认加载版本低的.我项目里有两个httpclient jar包.一个4.2.5  另一个是4.5.所以加载了4.2.5的,而我要用的是4. ...