In order to flow the data across multiple agents or hops, the sink of the previous agent and source of the current hop need to be avro type with the sink pointing to the hostname (or IP address) and port of the source.
Hop 1:
a1.channels.ch1.type = memory a1.sources.avro-source1.channels = ch1 a1.sources.avro-source1.type = avro a1.sources.avro-source1.bind = 0.0.0.0 a1.sources.avro-source1.port = 41414 a1.sinks.avro-sink1.channel = ch1 a1.sinks.avro-sink1.type = avro a1.sinks.avro-sink1.hostname = 192.168.10.204 a1.sinks.avro-sink1.port = 5545 a1.sinks.avro-sink1.batch-size = 1 a1.channels = ch1 a1.sources = avro-source1 a1.sinks = avro-sink1
Hop2
a1.channels.ch1.type = memory a1.sources.avro-source1.channels = ch1 a1.sources.avro-source1.type = avro a1.sources.avro-source1.bind = 0.0.0.0 a1.sources.avro-source1.port = 5545 a1.sinks.log-sink1.channel = ch1 a1.sinks.log-sink1.type = logger a1.channels = ch1 a1.sources = avro-source1 a1.sinks = log-sink1
test using avro-client
flume-ng avro-client -H dmining05 --port 41414 -F /etc/passwd
References
http://flume.apache.org/FlumeUserGuide.html
相关推荐
Flume提供了多种预定义的source类型,例如简单文件source,允许监控和读取指定目录下的新文件,或者Avro source,用于与其他Avro兼容的系统进行交互。 2. Channel(通道):是Flume内部的数据缓冲区,负责临时存储...
在 `conf/flume-conf.properties` 文件中配置 Sink: ``` agent.sinks.remotesink.type = avro agent.sinks.remotesink.hostname = master agent.sinks.remotesink.port = 44444 ``` 5. 启动 Flume-NG 使用以下命令...
在这个Java客户端的场景下,应用生成的Avro事件通过Source进入Flume,然后经过Channel暂存,最终由Sink传输到目的地。 标签“Java”表明这个客户端是用Java语言编写的,因此,开发者需要具备一定的Java编程基础来...
在Flume中,数据流动的核心组件是`Source`、`Channel`和`Sink`。 **Channel**是Flume中的中介存储,它在Source和Sink之间提供缓冲。以下是几种常见的Channel类型: 1. **Memory Channel**:将事件存储在内存中,...
Flume 提供了多种类型的Source,如Avro Source、Spooling Directory Source、NetCat Source等。对于已存在的日志文件,可以直接使用如Exec Source(通过Linux命令如`tail -F`)或Spooling Directory Source(监视...
Flume 支持多种类型的 Source,如 TailSource(监听日志文件尾部)、AvroSource(接收 Avro 格式的数据)和 JMSSource(从 JMS 提供者接收消息)。Source 负责读取数据并将其放入 Channel。 2. **Channel**:通道,...
- **单一代理流定义**:一个简单的 Flume 配置由源(Source)、接收器(Sink)和通道(Channel)组成。源负责接收数据,接收器负责输出数据,而通道作为临时存储,保证数据在传输过程中的可靠性。配置文件中,每个...
2. 配置环境变量:export `FLUME_HOME=/usr/local/apache/flume1.8`,export `PATH=$FLUME_HOME/bin:$PATH`,然后使环境变量配置生效:`source ~/.bashrc`。 3. 配置 flume-env.sh 文件:将 `flume-env.sh.template`...
# Bind the source and sink to the channel a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 ``` 这个配置定义了一个名为`a1`的Agent,它有一个Avro类型的Source(r1)监听本地44444端口,一个HDFS类型的...
Flume 主要由三个关键组件构成:**Source**、**Channel** 和 **Sink**。这些组件协同工作,完成日志数据从采集到存储的整个过程。 1. **Source 组件**:负责接收来自不同源头的日志数据,这些源头可以是文件系统、...
2. **配置**:编辑 flume/conf 下的配置文件来定义 Flume 的数据流,包括 Source、Channel 和 Sink 的配置。 3. **启动**:使用 flume-ng agent 命令来启动指定的 Agent。 例如,配置一个简单的 Flume 流程可能如下...
这些配置文件使用基于 Java 属性的格式,定义了 Flume 的 Agent、Source、Channel 和 Sink 组件。下面我们将深入探讨这些概念: 1. **Agent**: Flume 的基本工作单元,由 Source、Channel 和 Sink 三部分组成。一个...
Avro 客户端与Flume的AvroSource配合使用,而Thrift客户端则提供另一种选择。开发者可以根据需求选择合适的通信方式来构建自定义客户端。 总之,Apache Flume 1.7.0 是一个强大的日志管理和传输工具,其核心特性...
Flume提供了多种类型的Source,包括Avro Source、Thrift Source、Exec Source等。 - **Channel(通道)**:作为Source和Sink之间的缓冲区,用于临时存储数据。Flume支持Memory Channel、File Channel等多种类型。 - ...
- **AvroSource:** 支持通过Avro协议接收数据。 - **Log4jSource:** 接收Log4j输出的日志数据。 - **SyslogTcpSource:** 监听TCP端口接收syslog消息。 - **HttpSource:** 支持通过HTTP POST请求接收JSON格式...
Flume提供了多种类型的Source来适应不同的数据源,例如avro(适用于Flume之间通信)、exec(用于监控命令行输出)、taildir(监控文件夹中的新文件)等。 - **Channel**:作为Source和Sink之间的缓冲区,确保数据...