Flume可以将ElasticSearch与Amazon Elastic Search Service一起使用吗?

时间:2018-01-23 21:04:15

标签: amazon-web-services hadoop amazon-ec2 flume flume-ng

最初我试图设置Flume将S3写入我的AWS设置,如下所示:

aws.sinks.channel1.type = hdfs
aws.sinks.channel1.hdfs.path=s3n://<id>:<secretkey>/<bucketname>
aws.sinks.channel1.hdfs.fileType=DataStream
aws.sinks.channel1.hdfs.writeFormat=Text
aws.sinks.channel1.hdfs.rollCount = 0
aws.sinks.channel1.hdfs.rollSize = 67108864
aws.sinks.channel1.hdfs.batchSize = 1000
aws.sinks.channel1.hdfs.rollInterval = 0

但是,我发现我无法访问“bucketname” 我们在Amazon上的ElasticSearch服务不会公开文件系统层。

有没有办法使用弹性搜索接收器或某种http接收器来将水槽信息推送到AWS上的Kibana?

为清楚起见,我想将ElasticSearch推送到亚马逊。我拥有的资源是avro&amp; http,并且不是来自亚马逊。

2 个答案:

答案 0 :(得分:0)

目前还不清楚你的消息来源是什么,但Beats是替代Flume代理的ELK堆栈。 Logstash和/或Kafka是持久性渠道

Flume会读取您的hdfs-site.xml以获取S3访问密钥,以便从中获取密钥

您可以安装ES-Hadoop以使Elastic从Hadoop(和S3文件系统)读取数据。我个人没试过这个,但我知道图书馆存在这个原因。

如果你想使用Flume,你可以使用syslog或netcat Flume接收器写入Logstash(如果有的话),它可以索引到Elasticsearch。我相信,还有一个用于Logstash的WebHDFS插件。

另一种解决方案包括使用NiFi或Streamsets代替Flume

答案 1 :(得分:0)

https://forums.aws.amazon.com/thread.jspa?messageID=683536

  

在谈论AWS ElasticSearch Service时,本机传输   协议不受支持。支持基于HTTP协议的REST API   目前。

无赖!