我想在下面的情况下请求你的帮助。
我下载了源代码,并在更新了pom.xml中的版本后重新构建了flume-sources:
<flume.version>1.5.0-cdh5.1.2</flume.version>
<hadoop.version>2.3.0-cdh5.1.2</hadoop.version>
工作得很完美。
<!-- For the Twitter API -->
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-stream</artifactId>
<version>3.0.6</version>
</dependency>
当我启动代理时,我得到以下异常(NoSuchMethodError):
无法启动EventDrivenSourceRunner:{source:com.cloudera.flume.source.twitterSource{name:twitter,state:idle}}-出现异常。java.lang.nosuchmethoderror:twitter4j.filterquery.language([ljava/lang/string;)ltwitter4j/filterquery.language([ljava/lang/string;)ltwitter4j/filterquery;在com.cloudera.flume.source.twittersource.start(twittersource.java:165)在org.apache.flume.source.eventdrivensourceRunner.start(eventdrivensourceRunner.start.concurrent.futureTask.runandreset(FutureTask.java:304)在java.util.concurrent.scheduedThreadPoolExecutor$scheduedFutureTask.access$301(ScheduedThreadPoolExecutor.java:178)在java.util.concurrent.scheduledThreadPoolExecutor.java:293)在运行(thread.java:745)
我检查了一下,这个版本的twitter4j-stream包含语言方法:
我做错了什么?
提前感谢,
彼得
最后我设法解决了这个问题。所以这是任何面临同样问题的人的解决方案。
首先(在前面的文章中),我将生成的jar放置到/var/lib/flume-ng/plugins.d/twitter-streaming/lib/
,并在Cloudera Manager配置中设置它以使用这个位置。
在本例中,CM将此目录放置到运行文件中类路径的and(在parcel目录之后)。因此类路径中的目录顺序如下所示:
不幸的是,在parcel目录中有一个twitter4j-stream-3.0.3.jar和twitter4j-core-3.0.3.jar,flume试图使用它来代替3.0.6,在该版本中,filterquery.language
显然不存在。
所以我只是从parcel目录中删除了那些jar,现在它工作得很好。
本文向大家介绍Swift语言过滤,包括了Swift语言过滤的使用技巧和注意事项,需要的朋友参考一下 示例 通过从流中选择通过特定条件的元素来创建流称为过滤
贡献者:xixici Apache Thrift 是跨平台跨语言的开发框架。HBase 包含了 Thrift API 和过滤语言。Thrift API 依赖于客户端和服务器进程。 你可以在服务端和客户端维 Thrift 设置安全身份验证,参照 Client-side Configuration for Secure Operation - Thrift Gateway 和 Configure th
我正在尝试使用hdfs水槽运行水槽。hdfs在不同的机器上正常运行,我甚至可以与水槽机器上的hdfs交互,但是当我运行水槽并向其发送事件时,我收到以下错误: 同样,一致性不是问题,因为我可以使用hadoop命令行与hdfs交互(水槽机不是datanode)。最奇怪的是,在杀死水槽后,我可以看到tmp文件是在hdfs中创建的,但它是空的(扩展名仍然是. tmp)。 关于为什么会发生这种情况的任何想法
9.1 用外部语言写过滤器 9.1.1 混合编程场景介绍 本章来讨论 VimL 与其他语言混合编程的话题。这“混合”编程可能不是很准确的定义,也 许涉及不同层面的场景应用。在上一章介绍的异步编程也算是其中一种吧。不过如果所调 用的外部程序是别人已经写好的(或者是系统提供的经典工具),那用户就只能适应其提 供的接口或输出,在 vim 端几乎没什么可干预的。但如果利用通道连接的另一端的程序 ,也要自己
我遇到了Flume的问题(Cloudera CDH 5.3上的1.5): 我想做的是:每5分钟,大约20个文件被推送到假脱机目录(从远程存储中抓取)。每个文件包含多行,每行是一个日志(在JSON中)。文件大小在10KB到1MB之间。 当我启动代理时,所有文件都被成功推送到HDFS。1分钟后(这是我在flume.conf中设置的),文件被滚动(删除. tmp后缀并关闭)。 但是,当在假脱机目录中找到
我想使用 flume 将数据从 hdfs 目录传输到 hdfs 中的目录,在此传输中,我想应用处理形态线。 例如:我的来源是 我的水槽是 有水槽可能吗? 如果是,源水槽的类型是什么?