我們通過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. Elasticsearch的Spark(Java)
- 2. 從Spark/pyspark連接到PostgreSQL
- 3. MongoDB Spark連接器:mongo-spark無法連接到數據庫
- 4. 如何將elasticsearch連接到apache spark或storm?
- 5. 連接到從Java
- 6. 從Spark 1.5.2/1.6.2連接到Vertica 7.0.1
- 7. 使用java將oracle數據庫連接到apache spark的錯誤
- 8. 無法從Java應用程序連接到本地Spark集羣
- 9. 將spark-streaming連接到HBase
- 10. 通過Java使用Spark來連接和從Oracle獲取數據
- 11. 將Spark流連接到SDN
- 12. 將Spark的Json字符串從Spark立即索引到Elasticsearch
- 13. Spark-Cassandra VS Spark-Elasticsearch
- 14. MemSQL Spark連接器從Spark插入空值到MemSQL
- 15. 從elasticsearch-spark檢索指標
- 16. SQLITE_ERROR:從Spark通過JDBC連接到SQLite數據庫時連接關閉
- 17. JDBC Spark連接
- 18. Spark - Cassandra連接
- 19. 從Java連接到Oracle數據庫
- 20. 從Java連接到MySQL 7
- 21. 使用elasticsearch river插件連接到DataSource
- 22. Spark elasticsearch連接器:如何選擇_id字段?
- 23. 包含數組的Java spark數據框連接列
- 24. Spark:使用ElasticSearch索引進行優化連接
- 25. 在Spark流中與ElasticSearch連接時出現錯誤
- 26. 連接到主機elasticsearch乳寧實例
- 27. 如何從Spark SQLContext連接到Netezza數據庫
- 28. 遠程連接到Spark羣集
- 29. Spring Data ElasticSearch - 無法連接到節點
- 30. 捲曲到Elasticsearch「連接被拒絕」Vagrantfile
謝謝,好點的,我真的沒有考慮太多,可能是因爲saveAsNewAPIHadoopFile似乎採取建立連接的護理(和關閉)。所以,如果我想使用nodeBuilder創建一個客戶端(我猜想某種單例),那麼如何使用此saveAsNewAPIHadoopFile方法的客戶端? –
哦,等一下,我錯過了你的第二個鏈接。將嘗試這樣的方法。如果有效,明天會通知你。 –
我似乎沒有得到它的工作(仍然沒有看到saveAsNewAPIHadoopFile如何使用創建的節點,因爲它看起來像是在'引擎蓋下'一樣)。因此改爲使用TransportClient。現在我遇到了一個異常,根據http://stackoverflow.com/questions/33544863/java-elasticsearch-client-always-null是與相互矛盾的番石榴版本(可能在運行時,因爲我能夠編譯一切),但還沒有能夠解決這個問題。 –