我们通过JavaPairRDD(Spark 1.6.0)的saveAsNewAPIHadoopFile方法使用Spark Streaming和Java将数据写入ElasticSearch。这一切在本地和群集上都可以很好地工作。但是,我们确实注意到ElasticSearch的连接数量增长非常快(从运行本地系统的http://localhost:9200/_nodes/stats/http/_all?pretty中可以看出),最终导致ElasticSearch变得非常缓慢。看起来,对于每个RDD,都会建立一个新的连接,并且它看起来又被关闭了。是否可以打开连接并尽可能长时间地打开连接,或者至少在相当长的时间内打开连接?我们正在使用Spark 1.6.0和ElasticSearch 2.0.0。从Java Spark连接到ElasticSearch的数量
0
A
回答
0
是的,如果您在foreachRDD
中创建连接,则会在每个RDD上创建一个连接。你应该使用连接池。这是在doc广泛详述:
相关问题
- 1. 从Spark/pyspark连接到PostgreSQL
- 2. MongoDB Spark连接器:mongo-spark无法连接到数据库
- 3. 从Spark 1.5.2/1.6.2连接到Vertica 7.0.1
- 4. AngularjS连接超时到ElasticSearch
- 5. 通过Java使用Spark来连接和从Oracle获取数据
- 6. 将Spark流连接到SDN
- 7. 将Spark的Json字符串从Spark立即索引到Elasticsearch
- 8. MemSQL Spark连接器从Spark插入空值到MemSQL
- 9. 从Java连接到Oracle数据库
- 10. 从elasticsearch-spark检索指标
- 11. Spark - Cassandra连接
- 12. 连接到主机elasticsearch乳宁实例
- 13. Spark elasticsearch连接器:如何选择_id字段?
- 14. 包含数组的Java spark数据框连接列
- 15. Spring Data ElasticSearch - 无法连接到节点
- 16. Spark:使用ElasticSearch索引进行优化连接
- 17. 在Spark流中与ElasticSearch连接时出现错误
- 18. 如何从Spark SQLContext连接到Netezza数据库
- 19. 卷曲到Elasticsearch“连接被拒绝”Vagrantfile
- 20. 远程连接到Spark群集
- 21. SparkContext对象没有属性esRDD(elasticsearch-spark连接器)
- 22. 连接到Spark Thrift Server的ODBC配置
- 23. 在Spark java API中使用spark cassandra连接器读取数据的问题
- 24. 使用java中的Apache Spark连接器从Cassandra中检索数据的错误
- 25. 用elasticsearch-spark连接器从火花中读取ES:所有字段都返回
- 26. Elasticsearch集群连接
- 27. ElasticSearch Spark Error
- 28. Cassandra Spark连接器
- 29. Java,Spark,Sql2o,H2:无法从DataSource获取连接 - IO异常
- 30. 连接到elasticsearch 2.4.4火花2.X
谢谢,好点的,我真的没有考虑太多,可能是因为saveAsNewAPIHadoopFile似乎采取建立连接的护理(和关闭)。所以,如果我想使用nodeBuilder创建一个客户端(我猜想某种单例),那么如何使用此saveAsNewAPIHadoopFile方法的客户端? –
哦,等一下,我错过了你的第二个链接。将尝试这样的方法。如果有效,明天会通知你。 –
我似乎没有得到它的工作(仍然没有看到saveAsNewAPIHadoopFile如何使用创建的节点,因为它看起来像是在'引擎盖下'一样)。因此改为使用TransportClient。现在我遇到了一个异常,根据http://stackoverflow.com/questions/33544863/java-elasticsearch-client-always-null是与相互矛盾的番石榴版本(可能在运行时,因为我能够编译一切),但还没有能够解决这个问题。 –