Flume原本集成了elasticsearch-sink组件。但是前几天测试了下,发现1.7、1.8版本的Flume好像都不支持写入ES5.X。
网上查了份资料
http://blog.csdn.net/u013673976/article/details/74319879
参考里面的第二套方案修改代码、依然没有效果。后面就自己按着ES的Java Api写了份Flume-ElasticSearch-Sink的demo。
因为是demo,代码就有点粗糙。 且精简了许多功能。像serializer类就不支持自定义被我写死了。且demo只支持transport tcp方式传输数据。
当然,这些都不重要。有需要可以自己优化。本份demo主要还是做参考。
代码:https://gitee.com/syher/flume-elasticsearch-sink-demo
修改配置文件后执行测试用例的run方法即可
es结果: