我试图了解如何使用 Flume-ng 尾部文件,以便可以将数据推送到 HDFS 中。在第一个实例中,我设置了一个简单的conf文件:
tail1.sources = source1
tail1.sinks = sink1
tail1.channels = channel1
tail1.sources.source1.type = exec
tail1.sources.source1.command = tail -F /var/log/apache2/access.log
tail1.sources.source1.channels = channel1
tail1.sinks.sink1.type = logger
tail1.channels.channel1.type = memory
tail1.channels.channel1.capacity = 1000
tail1.channels.channel1.transactionCapacity = 100
tail1.sources.source1.channels = channel1
tail1.sinks.sink1.channel = channel1
这是一个测试,我的期望是我会在控制台上看到输出。我使用以下命令运行它:
flume-ng agent --conf-file tail1.conf -n tail1 -Dflume.root.logger=DEBUG,INFO,console
我得到以下输出:
12/12/05 11:01:07 信息生命周期.LifecycleSupervisor: 开始
生命周期主管 1 12/12/05 11:01:07 INFO 节点.FlumeNode: Flume
节点开始 - tail1 12/12/05 11:01:07 INFO
nodemanager.DefaultLogicalNodeManager:节点管理器从 2005 年 12 月 12 日开始
11:01:07 信息生命周期.LifecycleSupervisor:开始生命周期
主管 8 12/12/05 11:01:07 信息
properties.PropertiesFileConfigurationProvider:配置提供程序
开始于 2005 年 12 月 12 日 11:01:07 信息
properties.PropertiesFileConfigurationProvider:正在重新加载
配置文件:tail1.conf 12/12/05 11:01:07 INFO
conf.FlumeConfiguration:处理:sink1 12/12/05 11:01:07 信息
conf.FlumeConfiguration:处理:sink1 12/12/05 11:01:07 信息
conf.FlumeConfiguration:添加接收器:sink1 代理:tail1 12/12/05
11:01:07 INFO conf.FlumeConfiguration:验证后水槽
配置包含代理配置:[tail1] 12/12/05
11:01:07 信息属性.PropertiesFileConfigurationProvider:创建
通道 12/12/05 11:01:08 INFO 仪器。MonitoredCounterGroup:
监控的计数器组类型:CHANNEL,名称:channel1,已注册
成功地。 2005 年 12 月 12 日 11:01:08 信息
properties.PropertiesFileConfigurationProvider:创建的通道
通道1 12/12/05 11:01:08 信息接收器.DefaultSinkFactory:正在创建
接收器实例:sink1,类型:记录器 12/12/05 11:01:08 INFO
nodemanager.DefaultLogicalNodeManager:开始新配置:{
sourceRunners:{source1=EventDrivenSourceRunner: {
来源:org.apache.flume.source.ExecSource@1839aa9 }}
inkRunners:{sink1=SinkRunner:{
策略:org.apache.flume.sink.DefaultSinkProcessor@11f0c98
counterGroup:{ name:null 计数器:{} } }}
频道:{channel1=org.apache.flume.channel.MemoryChannel@1740f55} }
12/12/05 11:01:08 信息 nodemanager.DefaultLogicalNodeManager:正在启动
频道频道1 12/12/05 11:01:08 信息
Instrumentation.MonitoredCounterGroup:组件类型:CHANNEL,名称:
频道 1 于 2005 年 12 月 12 日 11:01:08 开始
nodemanager.DefaultLogicalNodeManager:启动接收器 sink1 12/12/05
11:01:08 INFO nodemanager.DefaultLogicalNodeManager:启动源
source1 12/12/05 11:01:08 信息 source.ExecSource:Exec 源启动
使用命令:tail -F /var/log/apache2/access.log
然而,没有进一步发生。
我有另一个会话,其中有以下命令:
tail -F /var/log/apache2/access.log
我可以在哪里看到正在写入的文件:
192.168.1.81 - - [05/Dec/2012:10:58:07 +0000] "GET / HTTP/1.1" 200 483 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11"
192.168.1.81 - - [05/Dec/2012:10:58:07 +0000] "GET /favicon.ico HTTP/1.1" 404 502 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11"
192.168.1.81 - - [05/Dec/2012:10:58:21 +0000] "GET / HTTP/1.1" 304 209 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11"
192.168.1.81 - - [05/Dec/2012:10:58:22 +0000] "GET /favicon.ico HTTP/1.1" 404 502 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11"
你能帮我吗?我彻底困惑了。