一:环境说明
jdk版本:jdk-8u171-linux-x64.tar.gz
flume版本:apache-flume-1.7.0-bin.tar.gz
需要的小伙伴请自行下载解压并配置,这里不再阐述,若有问题,请评论或移步到公号留言
二:实战示例
1、编写配置文件
此处可先在flume安装目录下创建job文件夹,后续编辑的agent配置文件可放在该文件夹下,(文件夹及文件名自定义即可,保持一致)
# 声明一个agent:a1,并分别指定其三大组件的名字
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# 描述关于其source的一些配置
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# 描述关于其sink的一些配置
a1.sinks.k1.type = logger
# 描述关于其channel的一些配置
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# 绑定a1三大组件的关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
关于source r1:数据源来自本机netcat 44444端口监听
关于sink k1:数据以日志的形式输出
关于channel c1:数据缓存在内存中
将该文件 flume_netcat_logger.conf 保存至job文件夹下即可
2、启动flume及端口监听
(1) 启动flume:bin/flume-ng agent -n a1 -c conf/ -f job/flume_netcat_logger.conf -Dflume.root.logger=INFO,console
切入flume安装目录 执行上述命令即可,其中 -n a1 指明声明的agent a1;-c conf/ 原始的配置文件目录不用变 ;-f job/flume_netcat_logger.conf 指明关于a1的一些配置;-Dflume.root.logger=INFO,console 指明日志打印输出
(2) 另外启动一个窗口 监听端口:nc localhost 44444
再此窗口中输入数据
则在另一个端口中即可看到打印输出该数据
演示结束