问题标签 [flume]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hdfs - 无法使用flume将文件提取到hdfs
我正在使用带有 cdh3u5 的 flume-ng-1.2.0。我只是想从文本文件中提取数据并将其放入 hdfs。这是我正在使用的配置:
我正在运行代理bin/flume-ng agent -n agent1 -c ./conf/ -f conf/flume.conf
我得到的日志是
我不知道我在哪里做错了。因为我是初学者,所以我在 hdfs 中没有得到任何东西,flume-agent 一直在运行。任何建议和更正都会对我很有帮助,谢谢。
java - Flume 1.2.0 自定义源码
我有一个自制的事件收集和处理框架,我希望用 Apache Flume 1.2.0 替代它,因为我们将开始将数据加载到 Hadoop 中。由于 Flume 没有 HTTP 源,我正在编写一个带有嵌入式 Tomcat 服务器的自定义源。我正在关注http://flume.apache.org/FlumeUserGuide.html#custom-source上的文档,但是当我开始时出现以下异常:
java.lang.IllegalArgumentException:在 org.apache.flume.SourceRunner.forSource(SourceRunner.java:54) 在 org.apache.flume.conf.properties 的源 com.xxx.xxx.flume.TestSource@5219f360 没有已知的运行器类型.PropertiesFileConfigurationProvider.loadSources(PropertiesFileConfigurationProvider.java:340) at org.apache.flume.conf.properties.PropertiesFileConfigurationProvider.load(PropertiesFileConfigurationProvider.java:222) at org.apache.flume.conf.file.AbstractFileConfigurationProvider.doLoad(AbstractFileConfigurationProvider.java :123) 在 org.apache.flume.conf.file.AbstractFileConfigurationProvider$FileWatcherRunnable.run(AbstractFileConfigurationProvider.java:202) 在 org.apache.flume.conf.file.AbstractFileConfigurationProvider.access$300(AbstractFileConfigurationProvider.java:38) 在 java .util.并发。Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) at java .util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor. java:1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722)runAndReset(FutureTask.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java。 util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722)runAndReset(FutureTask.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java。 util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722)1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722)1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722)
json - 如何让 Flume-ng 以 JSON 格式存储日志
我有一个 Flume 整合器,它将自定义日志中的条目写入 AWS 中的 s3 存储桶
我遇到的问题是,它没有以 JSON 格式存储它。我正在使用flume-ng(flume 1.2.0),因为我已经从flume-og(实际上只是flume 0.9.4-cdh3u3)升级。当我使用flume(og one)时,我默认以JSON格式移动日志而没有设置任何参数。flume-ng 是否可以解析日志并将其设置为 JSON 格式?
任何帮助深表感谢。谢谢
我的设置配置如下
tomcat - 嵌入式 Tomcat 7.0.32 启动 jar 扫描器
我将 Tomcat 7.0.32 嵌入到 Flume Source 中。我遇到的问题是 Flume 在 Classpath 上放置了很多东西,并且在启动时,Tomcat 会扫描类路径以查找 TLD,这会导致问题,因为 flume 使用了通配符。
信息:启动 Servlet 引擎:Apache Tomcat/7.0.32 Nov 05, 2012 8:21:08 AM org.apache.catalina.startup.TldConfig tldScanJar 警告:无法处理 JAR [jar:file:/opt/mapr/hadoop/ hadoop-0.20.2/hadoop*core*.jar!/] 用于 TLD 文件 java.io.FileNotFoundException: /opt/mapr/hadoop/hadoop-0.20.2/hadoop*core*.jar (没有这样的文件或目录)在 java.util.zip.ZipFile.open(Native Method) 在 java.util.zip.ZipFile.(ZipFile.java:214) 在 java.util.zip.ZipFile.(ZipFile.java:144) 在 java.util .jar.JarFile.(JarFile.java:152) 在 java.util.jar.JarFile.(JarFile.java:89) 在 sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:93) 在 sun .net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69) 在 sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:88) 在 sun.net.www.protocol.jar .JarURL 连接。connect(JarURLConnection.java:122) 在 sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89) 在 org.apache.tomcat.util.scan.FileUrlJar.(FileUrlJar.java:41) 在org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:34) 在 org.apache.catalina.startup.TldConfig.tldScanJar(TldConfig.java:487) 在 org.apache.catalina.startup.TldConfig。在 org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:241) 访问 $100(TldConfig.java:58) 在 org.apache.catalina.startup.TldConfig$TldJarScannerCallback.scan(TldConfig.java:303) ) 在 org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:204) 在 org.apache.catalina.startup.TldConfig.execute(TldConfig.java:277)89) 在 org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:34) 在 org.apache.catalina 的 org.apache.tomcat.util.scan.FileUrlJar.(FileUrlJar.java:41)。 startup.TldConfig.tldScanJar(TldConfig.java:487) 在 org.apache.catalina.startup.TldConfig.access$100(TldConfig.java:58) 在 org.apache.catalina.startup.TldConfig$TldJarScannerCallback.scan(TldConfig.java :303) 在 org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:204) 的 org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:241)。 catalina.startup.TldConfig.execute(TldConfig.java:277)89) 在 org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:34) 在 org.apache.catalina 的 org.apache.tomcat.util.scan.FileUrlJar.(FileUrlJar.java:41)。 startup.TldConfig.tldScanJar(TldConfig.java:487) 在 org.apache.catalina.startup.TldConfig.access$100(TldConfig.java:58) 在 org.apache.catalina.startup.TldConfig$TldJarScannerCallback.scan(TldConfig.java :303) 在 org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:204) 的 org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:241)。 catalina.startup.TldConfig.execute(TldConfig.java:277)487) 在 org.apache.catalina.startup.TldConfig$TldJarScannerCallback.scan(TldConfig.java:303) 在 org.apache.tomcat 的 org.apache.catalina.startup.TldConfig.access$100(TldConfig.java:58)。 org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:204) 中的 util.scan.StandardJarScanner.process(StandardJarScanner.java:241) org.apache.catalina.startup.TldConfig.execute(TldConfig.爪哇:277)487) 在 org.apache.catalina.startup.TldConfig$TldJarScannerCallback.scan(TldConfig.java:303) 在 org.apache.tomcat 的 org.apache.catalina.startup.TldConfig.access$100(TldConfig.java:58)。 org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:204) 处的 util.scan.StandardJarScanner.process(StandardJarScanner.java:241) org.apache.catalina.startup.TldConfig.execute(TldConfig.爪哇:277)
在我的代码中,我尝试禁用此扫描,甚至尝试在我的上下文中将 JarScanner 设置为 null。这无济于事。下面是我的代码:
nginx - 使用 NGINX 将跟踪数据转发到 Flume
我正在根据我们通过简单的图像信标收集的仪器数据为我们的网络资产提供分析。我们的数据管道从 Flume 开始,我需要尽可能快的方法来解析查询字符串参数,形成一个简单的文本消息并将其推入 Flume。
出于性能原因,我倾向于使用 nginx。由于已经支持从内存中提供静态图像,因此我的任务被简化为处理查询字符串并将消息转发到 Flume。因此,问题:
将 nginx 与 Flume 集成的最简单可靠的方法是什么?我正在考虑使用 syslog(Flume 支持 syslog 侦听器),但我很难配置 nginx 以将自定义日志消息转发到在远程服务器和自定义端口上运行的 syslog(或只是 TCP)侦听器。是否可以使用 nginx 的现有 3rd 方模块,还是我必须自己编写?
另外,您可以推荐用于编写快速 $args 解析器的任何现有内容将不胜感激。
如果您认为我走的是一条完全错误的道路,并且可以推荐性能更好的东西,请随时告诉我。
提前致谢!
hdfs - 无法在flume-ng中创建类型为HDFS的接收器
我有一个将日志写入 HDFS 的水槽。
我在单个节点中创建了一个代理。
但它没有运行。
有我的配置。
# example2.conf:单节点 Flume 配置
# 命名这个代理上的组件
agent1.sources = source1
agent1.sinks = sink1 agent1.channels =
channel1
# 描述/配置 source1
agent1.sources.source1.type = avro
agent1.sources.source1.bind = localhost
agent1.sources.source1.port = 41414
# 在内存中使用缓冲事件的通道
agent1.channels.channel1.type = memory
agent1.channels.channel1.capacity = 10000
agent1.channels.channel1.transactionCapacity = 100
# 描述 sink1
agent1.sinks.sink1.type = HDFS
agent1.sinks.sink1.hdfs.path = hdfs://dbkorando.kaist.ac.kr:9000/flume
# 绑定源和汇通道
agent1.sources.source1.channels = channel1 agent1.sinks.sink1.channel =
channel1
我命令
flume-ng agent -n agent1 -c conf -C /home/hyahn/hadoop-0.20.2/hadoop-0.20.2-core.jar -f conf/example2.conf -Dflume.root.logger=INFO,console
结果是
信息:包括通过 (/home/hyahn/hadoop-0.20.2/bin/hadoop) 找到的用于 HDFS 访问的 Hadoop 库
+ exec /usr/java/jdk1.7.0_02/bin/java -Xmx20m -Dflume.root.logger=信息,控制台 -cp '/etc/flume-ng/conf:/usr/lib/flume-ng/lib/*:/home/hyahn/hadoop-0.20.2/hadoop-0.20.2-core.jar' - Djava.library.path=:/home/hyahn/hadoop-0.20.2/bin/../lib/native/Linux-amd64-64 org.apache.flume.node.Application -n agent1 -f conf/example2。 conf
2012-11-27 15:33:17,250 (main) [INFO - org.apache.flume.lifecycle.LifecycleSupervisor.start(LifecycleSupervisor.java:67)] 启动生命周期主管 1
2012-11-27 15:33:17,253 (main) [INFO - org.apache.flume.node.FlumeNode.start(FlumeNode.java:54)] Flume 节点启动 - agent1
2012-11-27 15:33:17,257 (lifecycleSupervisor-1-1) [INFO - org.apache.flume.conf.file.AbstractFileConfigurationProvider.start(AbstractFileConfigurationProvider.java:67)] 配置提供程序开始于
2012-11-27 15 :33:17,257 (lifecycleSupervisor-1-0) [INFO - org.apache.flume.node.nodemanager.DefaultLogicalNodeManager.start(DefaultLogicalNodeManager.java:203)] 节点管理器开始于
2012-11-27 15:33:17,258 (lifecycleSupervisor -1-0) [INFO - org.apache.flume.lifecycle.LifecycleSupervisor.start(LifecycleSupervisor.java:67)] 启动生命周期主管 9
2012-11-27 15:33:17,258 (conf-file-poller-0) [INFO - org.apache.flume.conf.file.AbstractFileConfigurationProvider$FileWatcherRunnable.run(AbstractFileConfigurationProvider.java:195)] 重新加载配置文件:conf/example2.conf
2012-11-27 15:33:17,266 (conf-file-poller-0) [INFO - org.apache.flume.conf.FlumeConfiguration$AgentConfiguration.addProperty(FlumeConfiguration.java:988)] 处理:sink1
2012-11- 27 15:33:17,266 (conf-file-poller-0) [INFO - org.apache.flume.conf.FlumeConfiguration$AgentConfiguration.addProperty(FlumeConfiguration.java:988)] 处理:sink1
2012-11-27 15:33 :17,267 (conf-file-poller-0) [INFO - org.apache.flume.conf.FlumeConfiguration$AgentConfiguration.addProperty(FlumeConfiguration.java:988)] 处理:sink1
2012-11-27 15:33:17,268 (conf -file-poller-0) [INFO - org.apache.flume.conf.FlumeConfiguration$AgentConfiguration.addProperty(FlumeConfiguration.java:902)] 添加了接收器:sink1 代理:agent1
2012-11-27 15:33:17,290 (conf-file-poller-0) [INFO - org.apache.flume.conf.FlumeConfiguration.validateConfiguration(FlumeConfiguration.java:122)] 验证后水槽配置包含代理的配置: [agent1]
2012-11-27 15:33:17,290 (conf-file-poller-0) [INFO - org.apache.flume.conf.properties.PropertiesFileConfigurationProvider.loadChannels(PropertiesFileConfigurationProvider.java:249)] 创建通道
2012 -11-27 15:33:17,354 (conf-file-poller-0) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.(MonitoredCounterGroup.java:68)] 监控的计数器组类型:CHANNEL,名称:channel1 , 注册成功。
2012-11-27 15:33:17,355 (conf-file-poller-0) [INFO - org.apache.flume.conf.properties.PropertiesFileConfigurationProvider.loadChannels(PropertiesFileConfigurationProvider.java:273)] 创建通道 channel1
2012-11- 27 15:33:17,368 (conf-file-poller-0) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.(MonitoredCounterGroup.java:68)] 监控的计数器组类型:SOURCE,名称:source1,注册成功.
2012-11-27 15:33:17,378 (conf-file-poller-0) [INFO - org.apache.flume.sink.DefaultSinkFactory.create(DefaultSinkFactory.java:70)] 创建 sink 实例: sink1,输入:高密度文件系统
如上,出现了flume-ng在sink生成部分停止的问题。问题是什么?
hdfs - Flume-ng 拖尾文件
我正在尝试了解如何使用 flume-ng 跟踪文件,以便可以将数据推送到 HDFS。在第一个实例中,我设置了一个简单的 conf 文件:
这是一个测试,我的期望是我会在控制台上看到输出。我使用以下命令运行它:
我得到以下输出:
验证后水槽配置包含代理配置:[tail1] 12/12/05 11:01:07 INFO properties.PropertiesFileConfigurationProvider:创建通道 12/12/05 11:01:08 INFO instrumentation.MonitoredCounterGroup:监控类型的计数器组:CHANNEL,名称:channel1,注册成功。12/12/05 11:01:08 INFO properties.PropertiesFileConfigurationProvider:创建通道 channel1 12/12/05 11:01:08 INFO sink.DefaultSinkFactory:创建接收器实例:sink1,类型:记录器 12/12/05 11: 01:08 INFO nodemanager.DefaultLogicalNodeManager:开始新配置:{ sourceRunners:{source1=EventDrivenSourceRunner: { source:org.apache.flume.source.ExecSource@1839aa9 }} sinkRunners:{sink1=SinkRunner: { policy:org.apache. flume.sink.DefaultSinkProcessor@11f0c98 counterGroup:{ name:null 计数器:
然而,没有进一步的事情发生。
我有另一个会话,其中有以下命令:
我可以在哪里看到正在写入的文件:
你能帮我吗?我彻底糊涂了。
hadoop - 如何在故障转移模式下配置 Flume 1.x (flume-ng)?
有大量关于在 CDH3 中以故障转移模式配置 Flume (0,9x) 节点的信息。
但是 CDH4 中 Flume (1.x) 配置的配置格式是完全不同的。如何在故障转移模式下配置 Flume 1.x (flume-ng)?
java - php和flume直接集成还是php和java集成?
我正在开发一个使用java在hbase中记录数据的客户端,我使用flume与hbase的集成,我已经开发了客户端并且我的应用程序完美地使用了它,问题是所有使用客户端的应用程序也是在java下开发的,还有一个我在php下开发的应用程序中,问题是::是否可以在php和java之间进行通信,或者直接在php和flume之间进行通信以在hbase中记录数据?
flume - 无法使用 hdfs 作为水槽中的接收器在 hdfs 目录中获取输出
我正在尝试将普通文本文件提供给水槽,因为源和接收器是 hdfs,源、通道和接收器显示已注册并已启动,但 hdfs 的输出目录中没有任何内容。 ???