bigdata-12-Flume核心组件

简介: bigdata-12-Flume核心组件

3.2 Flume初体验

官方文档

打开官方文档,User Guide模块

一个简单的案例

# example.conf: A single-node Flume configuration
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

这个例子中首先定义了source的名字、sink的名字还有channel的名字

下面配置source的相关参数

下面配置了sink的相关参数

接着配置了channel的相关参数

最后把这三个组件连接到了一起,就是告诉source需要向哪个channel写入数据,告诉sink需要从哪个 channel读取数据,这样source、channel、sink这三个组件就联通了。

Flume-source

再看刚才案例的Source

这里面的粗体字体是必选的参数 第一个参数是为了指定source需要向哪个channel写数据,这个其实是通用的参数, 主要看下面这三个,type、bind、port

  • type:类型需要指定为natcat
  • bind:指定当前机器的ip,使用hostname也可以
  • port:指定当前机器中一个没有被使用的端口

指定bind和port表示开启监听模式,监听指定ip和端口中的数据,其实就是开启了一个socket的服务端, 等待客户端连接进来写入数据

在这里给agent起名为a1,所以netcat类型的配置如下,这里面还指定了source、channel的名字,并且把 source和channel连接到一起了,刨除这几个配置之外就剩下了三行配置,就是刚才我们分析的那三个必填参数

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

注意了,bind参数后面指定的ip是四个0,这个当前机器的通用ip,因为一台机器可以有多个ip,例如: 内网ip、外网ip,如果通过bind参数指定某一个ip的话,表示就只监听通过这个ip发送过来的数据了,这 样会有局限性,所以可以指定0.0.0.0

Flume-channel

案例中channel使用的是memory channel

这里面只有type是必填项,其他都是可选的

Flume-sink

sink这里选择logger

logger sink中默认也只需要指定type即可

后期我们如果想要使用其他的内置组件,直接到官网文档这里查找即可

启动Flume agent

我们首先进入bigdata04的目录下

最终配置文件如下:

a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

这个配置文件中的a1表示是agent的名称,还有就是port指定的端口必须是未被使用的,可以先 查询一下当前机器使用了哪些端口,端口的可用范围是1-65535,如果懒得去查的话,就尽量使用偏大一 些的端口,这样被占用的概率就非常低了

Agent配置好了以后就可以启动了,下面来看一下启动Agent的命令

../bin/flume-ng agent --name a1 --conf /data/soft/apache-flume-1.9.0-bin/conf/ --conf-file example.conf -Dflume.root.logger=DEBUG,console

看到下面这张图就表示启动正常

参数解释

--name:指定agent的名字

--conf:指定flume配置文件的根目录

--conf-file:指定Agent对应的配置文件(包含source、channel、sink配置的文件)

-D:动态添加一些参数,在这里是指定了flume的日志输出级别和输出位置,INFO表示日志

使用telnet指定端口

telnet localhost 44444

没有就下载一个

这时Flume就采集道对应端口的信息了

使用jps -m 可以查看指定进程信息

也可以使用ps -ef|grep flume

看个人喜好了

目录
相关文章
|
22天前
|
存储 消息中间件 Kafka
【Flume】Flume 核心组件分析
【4月更文挑战第4天】【Flume】Flume 核心组件分析
|
6月前
|
数据采集 消息中间件 监控
大数据组件-Flume集群环境搭建
大数据组件-Flume集群环境搭建
114 0
|
6月前
|
Oracle 大数据 关系型数据库
大数据组件-Flume集群环境的启动与验证
大数据组件-Flume集群环境的启动与验证
94 0
|
11月前
|
存储 数据采集 缓存
大数据数据采集的数据采集(收集/聚合)的Flume之基本组件的Channel:临时存储数据的管道
在Flume中,Channel是数据采集和传输过程中的一个重要组件。它负责存储从Source获取的数据,并将其转发给Sink进行处理和存储。
107 0
|
11月前
|
存储 数据采集 JSON
大数据数据采集的数据采集(收集/聚合)的Flume之基本组件的Source:数据的收集端
在Flume中,Source是数据采集和传输过程中的一个重要组件。它负责从生产者获取数据并将其发送到Channel缓冲区中,为后续的数据处理和存储提供支持。
145 0
|
数据采集 JSON 监控
网站流量日志Flume收集--新组件taildir source介绍| 学习笔记
快速学习网站流量日志Flume收集--新组件taildir source介绍
140 0
网站流量日志Flume收集--新组件taildir source介绍| 学习笔记
|
存储 大数据
|
存储 JSON 负载均衡
java大数据组件Flume
flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力
139 0
java大数据组件Flume
|
大数据
大数据组件Flume总结(原创)
1)见思维导图         https://share.mindmanager.com/#publish/H_yLoCb7JMY6Qh6unY5qw4wtlpbDjA8xCIqlxYGd
803 0
|
Java 数据库连接 Apache
flume - 组件对象初始化过程(2)
概述  虽然在上一篇博文《flume - 启动过程分析(1)》我们已经了解了flume相关组件的配置的加载以及启动过程,但却遗漏了组件初始化的过程,也就是说缺少了根据配置生成组件的过程,这篇文章就是为了弥补这个过程。
1104 0

相关实验场景

更多