flume source 简介及官方用例

1、NetCat TCP Source

一个类似 netcat 的源,它侦听给定的端口并将每行文本转换为一个事件。类似于 nc -k -l [主机] [端口]。换句话说,它打开一个指定的端口并侦听数据。期望提供的数据是换行符分隔的文本。每行文本都会变成一个 Flume 事件,并通过连接的通道发送

Property Name

Default

Description

channels

type

The component type name, needs to be netcat

bind

Host name or IP address to bind to

port

Port # to bind to

Example for agent named a1:

a1.sources = r1

a1.channels = c1

a1.sources.r1.type = netcat

a1.sources.r1.bind = 0.0.0.0

a1.sources.r1.port = 6666

a1.sources.r1.channels = c1

2、HTTP Source

通过 HTTP、POST 和 GET 接受 Flume 事件的源。GET 只能用于实验。HTTP 请求由可插入的“处理程序”转换为 flume 事件,该处理程序必须实现 HTTPSourceHandler 接口。此处理程序采用 HttpServletRequest 并返回 flume 事件列表。从一个 Http 请求处理的所有事件都在一个事务中提交到通道,从而可以提高通道(如文件通道)的效率。如果处理程序引发异常,则此源将返回 HTTP 状态 400。如果通道已满,或者源无法将事件追加到通道,则源将返回 HTTP 503 - 暂时不可用状态。

在一个 post 请求中发送的所有事件都被视为一个批次,并在一个事务中插入到通道中。

此源基于 Jetty 9.4,能够设置其他特定于 Jetty 的参数,这些参数将直接传递给 Jetty 组件。

Property Name

Default

Description

type

The component type name, needs to be http

port

The port the source should bind to.

An example http source for agent named a1:

a1.sources = r1

a1.channels = c1

a1.sources.r1.type = http

a1.sources.r1.port = 5140

a1.sources.r1.channels = c1

a1.sources.r1.handler = org.example.rest.RestHandler

a1.sources.r1.handler.nickname = random props

a1.sources.r1.HttpConfiguration.sendServerVersion = false

a1.sources.r1.ServerConnector.idleTimeout = 300

3、Avro Source

监听Avro端口,从Avro client streams接收events。当与另一个(前一跳)Flume agent内置的Avro Sink配对时,它可以创建分层收集拓扑。

Property Name

Default

Description

channels

type

The component type name, needs to be avro

bind

hostname or IP address to listen on

port

Port # to bind to

Example for agent named a1:

a1.sources = r1

a1.channels = c1

a1.sources.r1.type = avro

a1.sources.r1.channels = c1

a1.sources.r1.bind = 0.0.0.0

a1.sources.r1.port = 4141

4、Thrift Source

侦听 Thrift 端口并接收来自外部 Thrift 客户端流的事件

Property Name

Default

Description

channels

type

The component type name, needs to be thrift

bind

hostname or IP address to listen on

port

Port # to bind to

a1.sources = r1

a1.channels = c1

a1.sources.r1.type = thrift

a1.sources.r1.channels = c1

a1.sources.r1.bind = 0.0.0.0

a1.sources.r1.port = 4141

5、Exec Source

Exec 源代码在启动时运行给定的 Unix 命令,并期望该进程在标准输出时持续生成数据(除非属性 logStdErr 设置为 true,否则 stderr b不会作为输出)

Property Name

Default

Description

channels

type

The component type name, needs to be exec

command

The command to execute

shell

A shell invocation used to run the command. e.g. /bin/sh -c. Required only for commands relying on shell features like wildcards, back ticks, pipes etc.

Example for agent named a1:

a1.sources = r1

a1.channels = c1

a1.sources.r1.type = exec

a1.sources.r1.command = tail -F /var/log/secure

a1.sources.r1.channels = c1

“shell”配置用于通过命令 shell(例如 Bash 或 Powershell)调用“命令”。“命令”作为参数传递给“shell”执行。这允许“命令”使用 shell 中的功能,例如通配符、反引号、管道、循环、条件等。在没有“shell”配置的情况下,将直接调用“命令”。“shell”的常用值:“/bin/sh -c”、“/bin/ksh -c”、“cmd /c”、“powershell -Command”等。

a1.sources.tailsource-1.type = exec

a1.sources.tailsource-1.shell = /bin/bash -c

a1.sources.tailsource-1.command = for i in /path/*.txt; do cat $i; done

6、Taildir Source(Windows中不可用)

监视指定的目录,并在检测到目录下每个文件有新追加时实时的更新。如果正在写入新行,则此源将重试读取它们,以等待写入完成。它定期以 JSON 格式将每个文件的最后读取位置写入给定位置文件。如果 Flume 由于某种原因停止或关闭,它可以实现断点续传,当指定路径上没有定位文件时,默认情况下,它将从每个文件的第一行开始上传。

此源不会重命名或删除或对被监听的文件进行任何修改。目前,此源不支持监听上传二进制文件。它逐行读取文本文件。

Property Name

Default

Description

channels

type

The component type name, needs to be TAILDIR.

filegroups

Space-separated list of file groups. Each file group indicates a set of files to be tailed.

filegroups.<filegroupName>

Absolute path of the file group. Regular expression (and not file system patterns) can be used for filename only.

Example for agent named a1:

a1.sources = r1

a1.channels = c1

a1.sources.r1.type = TAILDIR

a1.sources.r1.channels = c1

a1.sources.r1.positionFile = /var/log/flume/taildir_position.json

a1.sources.r1.filegroups = f1 f2

a1.sources.r1.filegroups.f1 = /var/log/test1/example.log

a1.sources.r1.headers.f1.headerKey1 = value1

a1.sources.r1.filegroups.f2 = /var/log/test2/.*log.*

a1.sources.r1.headers.f2.headerKey1 = value2

a1.sources.r1.headers.f2.headerKey2 = value2-2

a1.sources.r1.fileHeader = true

a1.sources.ri.maxBatchCount = 1000

Kafka Source

Kafka Source 是一个 Apache Kafka 消费者,用于读取来自 Kafka topic的消息。如果运行了多个 Kafka 源,则可以使用相同的消费者组来配置它们,以便每个源将读取主题的唯一分区集。目前支持 Kafka 服务器版本 0.10.1.0 或更高版本。测试完成到 2.0.1,这是发布时最高的可用版本。

Property Name

Default

Description

channels

type

The component type name, needs to be org.apache.flume.source.kafka.KafkaSource

kafka.bootstrap.servers

List of brokers in the Kafka cluster used by the source

kafka.consumer.group.id

flume

Unique identified of consumer group. Setting the same id in multiple sources or agents indicates that they are part of the same consumer group

kafka.topics

Comma-separated list of topics the Kafka consumer will read messages from.

kafka.topics.regex

Regex that defines set of topics the source is subscribed on. This property has higher priority than kafka.topics and overrides kafka.topics if exists.

Example for topic subscription by comma-separated topic list.

tier1.sources.source1.type = org.apache.flume.source.kafka.KafkaSource

tier1.sources.source1.channels = channel1

tier1.sources.source1.batchSize = 5000

tier1.sources.source1.batchDurationMillis = 2000

tier1.sources.source1.kafka.bootstrap.servers = localhost:9092

tier1.sources.source1.kafka.topics = test1, test2

tier1.sources.source1.kafka.consumer.group.id = custom.g.id

Example for topic subscription by regex

tier1.sources.source1.type = org.apache.flume.source.kafka.KafkaSource

tier1.sources.source1.channels = channel1

tier1.sources.source1.kafka.bootstrap.servers = localhost:9092

tier1.sources.source1.kafka.topics.regex = ^topic[0-9]$

# the default kafka.consumer.group.id=flume is used

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/838896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小白如何从零开始学新媒体运营二

新媒体运营需要什么技能呢&#xff1f; 硬技能 1&#xff09;文案撰写能力&#xff1a;文案能力几乎是所有运营从业者的标配&#xff0c;但写文案不等于写文章&#xff0c;作文满分的人不一定能写好文案&#xff0c;没什么学历的人也可能写出10W热评的文案 关键点在于通俗易…

Storm流式框架详细介绍(含代码例子)

学习目标&#xff1a; Storm流式框架详细介绍 学习内容&#xff1a; Apache Storm是一种分布式实时计算系统&#xff0c;旨在处理大规模数据流。它可以用来进行实时分析、在线机器学习、持续计算、分布式RPC、ETL等操作。以下是对Storm框架的详细介绍&#xff1a; 1. 核心概念…

探索Linux中的利器:深入了解grep命令

探索Linux中的利器&#xff1a;深入了解grep命令 在Linux系统中&#xff0c;grep命令是一个强大的文本搜索工具&#xff0c;用于在文件中查找特定模式的文本行。本文将详细介绍grep命令的基本用法和一些常见选项&#xff0c;帮助读者更好地理解和运用这个命令。 了解grep命令…

查看主机的php参数short_open_tag 是否为 on

我想要查看主机的php参数short_open_tag 是否为 on&#xff0c;由于我使用的是Hostease的Linux虚拟主机产品&#xff0c;在cPanel面板中并没有找到这个参数选项&#xff0c;因此无法查看。这边联系了Hostease技术支持了解&#xff0c;可以通过以下方式进行查看。 1.先登陆cPane…

Shell编程之条件判断语句

目录 一、条件判断 1、test命令 2、文件测试 3、整数值比较 4、字符串判断 5、逻辑测试 二、if语句 1、if单分支语句 2、双分支语句 3、多分之语句 4、case 分支语句 一、条件判断 Shell环境根据命令执行后的返回状态值&#xff08;echo $?&#xff09;来判断是否执行成…

鸿蒙HarmonyOS开发中的易混点归纳-持续补充中

相关文章目录 鸿蒙HarmonyOS开发术语全解&#xff1a;小白也能看懂&#xff01; 文章目录 相关文章目录前言一、build()函数和Builder装饰器&#xff1f;二、自定义组件和系统组件&#xff08;内置组件&#xff09;三、组件和页面四、自定义弹窗和其他弹窗总结 前言 一、build…

SpringBoot(五)之新增注解

SpringBoot&#xff08;五&#xff09;之新增注解 文章目录 SpringBoot&#xff08;五&#xff09;之新增注解核心注解EnableAutoConfiguration**SpringBootApplication** 条件注解Spring原生Conditional注解手写Conditional注解**ConditionalOnProperty****ConditionalOnMissi…

Logrus IT的供应商经理如何找到优秀地翻译人员

在现代世界&#xff0c;翻译和本地化可以使企业打入新市场并与来自不同国家的客户互动&#xff0c;从而对企业的成功起到决定性作用。翻译过程中的一个关键部分是寻找和招聘翻译。在Logrus IT&#xff0c;这是Anna Gulenkova的工作&#xff0c;我们决定和她谈谈她是如何做到的。…

BUUCTF---misc---我吃三明治

1、下载附件是一张图片 2、在winhex分析&#xff0c;看到一串整齐的编码有点可疑&#xff0c;保存下来&#xff0c;拿去解码&#xff0c;发现解不了&#xff0c;看来思路不对 3、再仔细往下看的时候也发现了一处这样的编码&#xff0c;但是这次编码后面多了一段base编码 4、拿去…

最长前缀数组

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 基本问题 给定一个字符串s, 返回一个数组Z, Z[i]代表子串s[i…n] 与s最长公共前缀的长度。 朴素做法 可以枚举所有s[i…n]子串&#xff0c;然后与s一一比较&#x…

【Go语言入门学习笔记】Part5.函数

一、前言 这里的还是跟C有区别的&#xff0c;大家熟悉了其他语言后&#xff0c;还得注意一下这里的内容。Go的函数非常灵活。 二、学习代码 package mainimport "fmt"// ZhengXing 类似typedef的方法 type ZhengXing int// 函数名有说法&#xff0c;首字母大写是pu…

ERROR TypeError: Cannot read property ‘tapPromise‘ of undefined

问题概要 vue项目运行npm run build打包时&#xff0c;报了ERROR TypeError: Cannot read property ‘tapPromise’ of undefined TypeError: Cannot read property ‘tapPromise’ of undefined的错误。 解决方式 根据github中compression-webpack-plugin源码issues里的提示 …

C#--SVG矢量图画法示例

1.代码示例 <Viewbox Grid.Column"1" Grid.ColumnSpan"1" Grid.RowSpan"1" ><Path Name"ValveShape" Stroke"Black" Data"M 50,0 L 150,200 L 50,200 L 150,0 Z" Width"200" Height"…

经常出差用哪些办公软件记录工作?可多设备同步使用的便签笔记软件

对于许多职场人士来说&#xff0c;出差已成为工作常态。在旅途中&#xff0c;如何高效处理工作&#xff0c;确保信息不遗漏&#xff0c;成为了一个不小的挑战。那么&#xff0c;对于经常需要移动办公的我们&#xff0c;哪款办公软件才是最佳选择呢&#xff1f;可多设备同步使用…

5.23 学习总结

一.项目优化&#xff08;语音通话&#xff09; 实现步骤&#xff1a; 1.用户发送通话申请&#xff0c;并处理通话请求&#xff0c;如果同意&#xff0c;为两个用户之间进行连接。 2.获取到电脑的麦克风和扬声器&#xff0c;将获取到的语音信息转换成以字节数组的形式传递。 …

DataBinding viewBinding(视图绑定与数据双向绑定)简单案例 (kotlin)

先上效果&#xff1a; 4个view的文字都是通过DataBinding填充的。交互事件&#xff1a;点击图片&#xff0c;切换图片 创建项目&#xff08;android Studio 2023.3.1&#xff09; Build.gradle(:app) 引入依赖库&#xff08;完整源码&#xff09; buildFeatures { vie…

java中的HashSet类

一、HashSet类 实现了Set接口&#xff0c;无法存储重复元素 特点&#xff1a;元素位置无序、无索引、底层是HashMap 1、构造方法 内部是HashMap的构造方法 2、add方法 (1)元素在底层存储使用到了三种数据结构&#xff1a;hash数组、链表、树 (2)添加流程&#xff08;根据…

告别登录烦恼,WPS免登录修改器体验!(如何实现不登录使用WPS)

文章目录 &#x1f4d6; 介绍 &#x1f4d6;&#x1f3e1; 演示环境 &#x1f3e1;&#x1f4d2; 解决方案 &#x1f4d2;&#x1f388; 获取方式 &#x1f388;⚓️ 相关链接 ⚓️ &#x1f4d6; 介绍 &#x1f4d6; 想象一下&#xff0c;如果你能够绕过繁琐的登录流程&#x…

C# WinForm —— 22 Forms.Timer 组件介绍与使用

1. 简介 Timer 计时器 组件不会出现在窗体中&#xff0c;每隔 定义的间隔时间&#xff0c;就会触发事件&#xff0c;主要应用于Windows应用程序&#xff0c;独占一个线程&#xff0c;可以修改 UI 元素 属性 属性解释(Name)控件ID&#xff0c;在代码里引用的时候会用到,一般…

防火墙最新技术汇总

防火墙技术持续发展&#xff0c;以应对日益复杂的网络安全威胁。以下是防火墙领域的一些最新技术汇总&#xff1a; 下一代防火墙&#xff08;NGFW&#xff09;&#xff1a;NGFW结合了传统防火墙的分组过滤和状态检测功能&#xff0c;还集成了深度包检测&#xff08;DPI&#xf…