任06_Flume案例_官方案例(配置)
作者:互联网
监听端口数据使用:netcat source-瑞士军刀,短小精悍。
打印到控制台:Logger sink
从官网上去复制:
第一步:安装netcat,装一台机器就行了
netcat简称nc
可以开启一个服务端和客户端,实现服务端和客户端通信
开启一个服务端:
开启客户端:
在客户端103上发送hello
此时服务端ctrl+C ,把服务端挂掉
那么客户端自己会挂掉
以上是实现网络通信使用端口的例子。
读取端口数据(netcat),经过flume到logger sink
需要配置的东西是source–channle–sink
添加内容如下:
# 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
这里面的配置分为五个部分
第一部分:命名组件。
这三内容都加了s,说明
source,sink和channel都可以有多个
其实source也可以有多个
a1代表的是agent
如果在102上想开多个agent,agent的名字必须唯一,多个的话一定要不一样。
第二部分:
netcat是监听端口号,绑定的主机和端口号必须告诉我。
第三部分:sink
sink的类型是一个logger
第四部分:channel
channel的类型是memory channel
capacity:容量,作为一个缓冲必须有个大小,这里设置的是1000个事件(event)
transactionCapcity: 事务容量,一次只能传输多少个事件
transactionCapcity肯定要 < capacity
第五部分:做一个绑定,绑定source,sink到channel上
由于source ,channel和sink都可以有多个,都放在一个agent里面
这样也可以:
一个有s,一个没有s:
sink不能是多对一(多个channel对一个sink)
source可以将数据写到多个channel(有副本机制),也可以为了负载均衡实现一对一
但是sink和channel绑定不一样,一个channel可以绑定多个sink,但是sink只能绑定一个channel
比如这样是可以的,k2这个sink绑定了channel1,k1这个sink也绑定了channel1
这就是最后的配置文件
启动flume:
到flume的根目录
bin/flume-ng agent --conf conf/ --name a1 --conf-file job/flume-netcat-logger.conf -Dflume.root.logger=INFO,console
info级别的数据打印到console控制台上去
标签:Flume,06,source,绑定,a1,案例,sink,netcat,channel 来源: https://blog.csdn.net/qq_41709577/article/details/112195486