0

我正在尝试让我的弹性搜索接收器启动并运行。但是,我收到以下错误,并且对如何修复它没有任何想法。任何帮助表示赞赏。这是错误:

2015-02-10 11:43:31,234 错误 org.apache.flume.lifecycle.LifecycleSupervisor: 无法启动 SinkRunner: { policy:org.apache.flume.sink.DefaultSinkProcessor@79a805d2 counterGroup:{ name:null counters:{} } } - 例外如下。java.lang.NoSuchFieldError: org.elasticsearch.client.transport.TransportClient.(TransportClient.java:168) org.elasticsearch.client.transport.TransportClient 的 org.elasticsearch.Version.(Version.java:45) 的 LUCENE_3_6。 (TransportClient.java:123) 在 org.apache.flume.sink.elasticsearch.client.ElasticSearchTransportClient.openClient(ElasticSearchTransportClient.java:201) 在 org.apache.flume.sink.elasticsearch.client.ElasticSearchTransportClient.(ElasticSearchTransportClient.java: 79) 在 org.apache.flume.sink.elasticsearch.client.ElasticSearchClientFactory.getClient(ElasticSearchClientFactory.java:

我正在运行 CDH 5.3 和 elasticsearch 1.4.2

4

2 回答 2

0

我怀疑您将弹性搜索 jar 放入 FLUME_HOME/lib

这里的问题是由于 Flume 中 Elastic Search 的版本冲突造成的。您提供的库与水槽中使用的库不同。Flume 1.5 与 Elastic Search 4.9 相关联。

于 2015-02-11T10:15:41.023 回答
0

好的,在你们指出我正确的方向后想通了。

由于我使用的是 CHD 5.3,因此我需要将 elasticsearch 1.4.2 jar 复制到 /user/lib/hadoop 目录而不是 flume-ng 目录。这样做之后,它工作得很好。

感谢大家的帮助!

于 2015-02-17T16:22:57.767 回答