2012-11-02 34 views
0

我有一个本土事件收集和处理框架,我希望可以用Apache Flume 1.2.0替代,因为我们将开始将数据加载到Hadoop中。由于Flume没有HTTP源,我正在使用嵌入式Tomcat服务器编写自定义源代码。我下面的文档在http://flume.apache.org/FlumeUserGuide.html#custom-source然而,当我开始我得到以下异常:Flume 1.2.0定制来源

java.lang.IllegalArgumentException异常:在 没有已知的亚军类型源 [email protected]组织.apache.flume.SourceRunner.forSource(SourceRunner.java:54)在 org.apache.flume.conf.properties.PropertiesFileConfigurationProvider.loadSources(PropertiesFileConfigurationProvider.java:340) 在 org.apache.flume.conf.properties。 PropertiesFileConfigurationProvider.load(PropertiesFileConfigurationProvider.java:222) at org.apache.flume.conf.file.AbstractFileConfiguration Provider.doLoad(AbstractFileConfigurationProvider.java:123) 在 org.apache.flume.conf.file.AbstractFileConfigurationProvider.access $ 300(AbstractFileConfigurationProvider.java:38) 在 org.apache.flume.conf.file.AbstractFileConfigurationProvider $ FileWatcherRunnable .RUN(AbstractFileConfigurationProvider.java:202) 在 java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471) 在 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) 在 java.util.concurrent.ScheduledThreadPoolExecutor中的$ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 的java.util .concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:603) 在java.lang.Thread.run(Thread.java:722)

回答

1

我想我想通了。 Flume网站上的文档没有提到自定义实现应该实现的不是Source接口,而是实现EventDrivenSource或PollableSource接口。

+0

http://flume.apache.org/FlumeDeveloperGuide.html#source – Esk