flume测试文件
1:先切换至conf文件
执行,cd /opt/servers/flume/conf(注意自己的路径)
进行配置文件vim nc-flume.conf
注意:需有#别名,#端口,#内存启动配置文件flume-ng agent -n a1 --conf-file nc-flume.conf -Dflume.root.logger=INF0,console
安装Telnet服务#yum install telnet -y
模拟数据发送telnet localhost 4444
输入数据 hello flume
最后退出ctrl+c
注意事项:
flume 自定义过滤器event最大定义为2048字节 2k
flume自定义过滤器按照先后顺序处理。可以对一个source指定多个拦截器,按先后顺序依次处理。
不建议通过对event的body解析来设置header,因为flume就是一个水槽。当然也可以。
编写过滤器类,实现 Interceptor接口,implements Interceptor 。
自定义过滤器中含有单个和批量event方法,批处理拦截器内部调用具体单个event过滤方法。
flume从source获取的数据存储在body中,它的header是null,可以传值,在多路复用、扇出区分event发到哪个channel 或者sink
Flume一个数据源对应多个channel,多个sink的叫扇出。多个source配一个channel和一个sinks,这叫扇入。
sink为avro 需要配置 以下
type = avro =>将数据发送到端口,需要设置端口名称、端口号
hostname = hd1-1
port = 4141
type = file_roll =>将数据传输到本地文件,需要设置文件路径
sink.directory = /root/flume2 注意flume2文件夹需要自己创建
type = org.apache.flume.sink.kafka.KafkaSink =>将数据传输到kafka
需要设置集群的机器名称和端口号、主题、batchSize、Ack机制
brokerList = hd1-1:9092,hd1-2:9092,hd1-3:9092
topic = calllog
batchSize = 20 批处理event个数
requiredAcks =1 ACK机制(1、0、-1,1是最安全的)
deletePolicy删除改后缀文件的参数,不需要脚本就可以实现。
————————————————
版权声明:本文为CSDN博主「肉装法师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41772761/article/details/109071382