我试图使用flume来使用Twitter,并将tweet索引到我的elasticsearch。我将flume.conf设置为使用com.cloudera.flume.source.TwitterSource作为twitter源(使用开发令牌),并对接收器使用默认弹性搜索。
我能够获得这些tweet(因为我还将其保存到HDFS中,当我打开文件时可以看到这些tweet),但是当我搜索elasticsearch时,我得到的响应是:
{
_index: twitter-2014-02-14
_type: tweet-rt
_id: ilL5ZrBRSlqrZcsVUbnO-g
_version: 1
_score: 1
_source: {
@message: org.elasticsearch.common.xcontent.XContentBuilder@12da4409
@timestamp: 2014-02-14T10:16:13.000Z
@fields: {
timestamp: 1392372973000
}
}这里是我的水槽配置的例子。
# - ElasticSearch Sink
TwitterAgent.sinks.ES.type = elasticsearch
TwitterAgent.sinks.ES.channel = FileChannel
TwitterAgent.sinks.ES.hostNames = 192.168.10.100:9300
TwitterAgent.sinks.ES.indexName = twitter
TwitterAgent.sinks.ES.indexType = tweet-rt
TwitterAgent.sinks.ES.clusterName = testou我还需要再加点什么吗?我不明白为什么我的推特不能被反序列化。
有什么想法吗?
谢谢你
发布于 2014-02-15 12:50:44
这太奇怪了。它正在XContentBuilder上执行某种形式的XContentBuilder来获取该消息,但它不应该这样做。
我建议清理水槽重新安装。我会担心类路径和JAR依赖问题。
什么版本的水槽?
发布于 2014-12-20 18:56:25
对于其他遇到这个错误的人来说,这是水槽弹性搜索水槽中的一个错误,现在已经修复了。请参阅https://issues.apache.org/jira/browse/FLUME-2126
如果你在水槽版本早于1.6,你可能想要挑选和建立一个与此修补程序与您的版本。
https://stackoverflow.com/questions/21776670
复制相似问题