带有twittersource和elasticsearch sink的Flume

lx0bsm1f  于 2021-06-03  发布在  Flume
关注(0)|答案(2)|浏览(411)

我正在尝试使用flume使用twitter流api并将tweet索引到elasticsearch。我将flume.conf设置为使用com.cloudera.flume.source.twittersource作为twitter源(使用我的dev令牌),并对接收器使用默认的elastisearch。
我能够获得tweets(因为我还将其保存到hdfs中,当我打开文件时,我可以看到tweets),但是当我搜索到我的elasticsearch时,我得到的响应是:

  1. {
  2. _index: twitter-2014-02-14
  3. _type: tweet-rt
  4. _id: ilL5ZrBRSlqrZcsVUbnO-g
  5. _version: 1
  6. _score: 1
  7. _source: {
  8. @message: org.elasticsearch.common.xcontent.XContentBuilder@12da4409
  9. @timestamp: 2014-02-14T10:16:13.000Z
  10. @fields: {
  11. timestamp: 1392372973000
  12. }
  13. }

这里是我的Flume配置的例子。

  1. # - ElasticSearch Sink
  2. TwitterAgent.sinks.ES.type = elasticsearch
  3. TwitterAgent.sinks.ES.channel = FileChannel
  4. TwitterAgent.sinks.ES.hostNames = 192.168.10.100:9300
  5. TwitterAgent.sinks.ES.indexName = twitter
  6. TwitterAgent.sinks.ES.indexType = tweet-rt
  7. TwitterAgent.sinks.ES.clusterName = testou

我还需要补充什么吗?我不明白为什么es不能反序列化我的tweet。
有什么想法吗?
谢谢你

jmp7cifd

jmp7cifd1#

这很奇怪。它在xcontentbuilder上执行某种形式的identityhashcode来获取该消息,但它不应该这样做。
我想我建议清理Flume,重新安装。我会关心类路径和jar依赖性问题。
什么版本的Flume?

9gm1akwq

9gm1akwq2#

对于遇到此错误的其他人,这是flume elastic search sink中的一个错误,现已修复。看到了吗https://issues.apache.org/jira/browse/flume-2126
如果您使用的是早于1.6的flume版本,那么您可能需要根据您的版本选择并使用此修补程序构建一个。

相关问题