flume1.8 Sources类型介绍(二)

2023-12-21 17:32
文章标签 类型 介绍 sources flume1.8

本文主要是介绍flume1.8 Sources类型介绍(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 Flume Sources

1.1 Avro Source

监听Avro端口,从Avro client streams接收events。要求属性是粗体字。

 

agent a1例子:

ipFilterRules例子:

ipFilterRules=allow:ip:127.*,  allow:name:localhost,deny:ip:*

1.2 Thrift Source

监听Thrift端口和从外部Thrift client streams接收events。要求属性为粗体字:

agent a1 例子:

1.3 Exec Source

 Exec Source在启动时运行一个Unix命令行,并期望这过程在标准输出上连续生产数据。要求属性为粗体字:

agent a1例子:

'shell'配置被用来通过一个命令shell调用‘command’。

1.4 JMS Source

JMS Source从JMS目标(如队列或者主题)读取消息。JMS应用程序应该可以与任何JMS提供程序一起工作,但是只能使用ActiveMQ进行测试。要求属性是粗体字。

 agent a1例子:

1.5 Spooling Directory Source

该source让你通过放置被提取文件在磁盘”spooling“目录下这一方式,提取数据。该source将会监控指定目录的新增文件,当新文件出现时解析event。event解析逻辑是可插入的。当一个给定文件被全部读取进channel之后,它被重命名,以标识为已完成(或者可选择deleted)。

agent-1例子:

1.6 Taildir Source

注意:该source不能用于windows。

agent a1例子:

1.7 Twitter 1% firehose Source(试验)

 略

1.8 Kafka Source

 Kafka Source是Apache Kafka消费者,从Kfaka topics读取消息。如果你有多个Kafka source在跑,你可以配置它们在相同的Consumer Group,以使它们每个读取topics独特的分区。

以逗号分隔的topic列表进行topic订阅的例子:

通过正则表达式进行topic订阅的例子:

安全和Kafka Source

Kafka 0.9.0支持SASL/GSSAPI 或者 SSL 协议。

设置 kafka.consumer.security.protocol的值:

①SASL_PLAINTEXT - Kerberos or plaintext authentication with no data encryption

②SASL_SSL - Kerberos or plaintext authentication with data encryption

③SSL - TLS based encryption with optional authentication.

TLS和Kafka Source

带有服务端认证和数据加密配置的例子:

注意:属性ssl.endpoint.identification.algorithm没有定义,因此没有hostname验证,为了是hostname验证,可以设置属性:

如果要求有客户端认证,在Flume agent配置中添加下述配置。每个Flume agent必须有它的客户端凭证,以便被Kafka brokers信任。

如果keystore和key使用不用的密码保护,那么ssl.key.password属性需要提供出来:

Kerberos和Kafka Soure

kerberos配置文件可以在flume-env.sh通过JAVA_OPTS指定:

使用SASL_PLAINTEST的安全配置示例:

使用SASL_SSL的安全配置示例:

JAAS文件实例(暂时没看懂):

1.9 NetCat TCP Source

 netcat source监听一个给定的端口,然后把text文件的每一行转换成一个event。要求属性是粗体字。

agent a1示例:

 

1.10 NetCat UDP Source

  netcat source监听一个给定的端口,然后把text文件的每一行转换成一个event。要求属性是粗体字。

agent a1的示例:

1.11 Sequence Generator Source

一个简单的序列生成器可以不断生成events,带有counter计数器,从0开始,以1递增,在totalEvents停止。当不能发送events到channels时会不断尝试。

agent a1示例:

1.12 Syslog Sources

读取系统日志,并生成Flume events。UDP source以整条消息作为一个简单event。TCP source以新一行”n“分割的字符串作为一个新的event。

1.12.1 Syslog TCP Source 

原始的,可靠的Syslog TCP source。

agent a1的syslog TCP source示例:

1.12.2 Multiport Syslog TCP Source

这是一个新的,更快的,多端口的Syslog TCP source版本。注意ports配置替代port。

agent a1的multiport syslog TCP source示例:

1.12.3 Syslog UDP Source 

agent a1的syslog UDP source示例:

1.13 HTTP Source

 source 通过HTTP POST 和 GET,接收Flume events。GET只能用于试验。HTTP requests通过 必须实现 HTTPSourceHandler接口的 ”handler“ 转换成flume events。该handler获取HttpServletRequest,然后返回一系列的flume events。

agent a1的http source示例:

Handler属性有两种,一是JSONHandler,一是BlobHandler。

BlobHandler用于处理请求参数带有比较大的对象(Binary Large Object),如PDF或者JPG。

1.14 Stress Source

StressSource 是内部负载生成source的实现,这对于压力测试是非常有用的。它允许用户配置Event有效载荷的大小。

agent a1的示例:

1.15 Legacy Sources

 legacy sources允许Flume 1.x agent接收来自Flume 0.9.4 agents的events。

 legacy source 支持Avro和Thrift RPC 连接。为了使用两个Flume 版本搭建的桥梁,你需要开始一个带有avroLegacy或者thriftLegacy source的Flume 1.x agent。0.9.4agent应该有agent Sink指向1.x agent的host/port。

1.15.1 Avro Legacy Source

agent a1的示例:

1.15.2 Thrift Legacy Source

agent a1的示例:

 

1.16 Custom Source(自定义Source)

自定义Source是你实现Source接口。当启动Flume agent时,一个自定义source类和它依赖项必须在agent的classpath中。

agent a1的示例:

 

1.17 Scrible Source

Scribe是另一种类型的提取系统。采用现有的Scribe提取系统,Flume应该使用基于Thrift的兼容传输协议的ScribeSource。

agent a1示例:

 参考资料:

https://flume.apache.org/FlumeUserGuide.html

这篇关于flume1.8 Sources类型介绍(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/520886

相关文章

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET