多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 流程 ![](https://box.kancloud.cn/e33b878285074392fc8a5a8e0f553b12_782x337.png) # 代码 1. 先在flume的conf目录下新建一个文件 ~~~ vim netcat-logger.conf ~~~ ~~~ # 定义这个agent中各组件的名字 a1.sources = r1 a1.sinks = k1 a1.channels = c1 # 描述和配置source组件:r1 # netcat类型,可以监控对应端口是否有数据 a1.sources.r1.type = netcat # 绑定到master这台电脑 a1.sources.r1.bind = master # 监听的端口,r1就是上面定义的 a1.sources.r1.port = 44444 # 描述和配置sink组件:k1 # 产生的数据显示到控制台 a1.sinks.k1.type = logger # 描述和配置channel组件,此处使用是内存缓存的方式 a1.channels.c1.type = memory # 内存容量,多少个事件 a1.channels.c1.capacity = 1000 # 事务容量,每个事务通道从源或提供给接收器的最大事件数 a1.channels.c1.transactionCapacity = 100 # 描述和配置source channel sink之间的连接关系 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 ~~~ 2. 启动agent去采集数据 ~~~ flume-ng agent -c conf -f /root/flume/conf/netcat-logger.conf -n a1 -Dflume.root.logger=INFO,console ~~~ ~~~ -c conf 指定flume自身的配置文件所在目录 -f conf/netcat-logger.conf 指定我们所描述的采集方案 -n a1 指定我们这个agent的名字 ~~~ # 测试 先要往agent采集监听的端口上发送数据,让agent有数据可采 随便在一个能跟agent节点联网的机器上 ~~~ telnet anget-hostname port(telnet master 44444) ~~~ ![](https://box.kancloud.cn/4e9c3a10437f7e95ae9b11644abfedf0_2248x236.png)