【发布时间】:2016-11-13 16:34:49
【问题描述】:
我有一个在 127.0.0.1:9200 上监听的 elasticsearch docker 映像,我使用 sense 和 kibana 对其进行了测试,它工作正常,我能够索引和查询文档。现在,当我尝试从 spark 应用程序写入它时
val sparkConf = new SparkConf().setAppName("ES").setMaster("local")
sparkConf.set("es.index.auto.create", "true")
sparkConf.set("es.nodes", "127.0.0.1")
sparkConf.set("es.port", "9200")
sparkConf.set("es.resource", "spark/docs")
val sc = new SparkContext(sparkConf)
val sqlContext = new SQLContext(sc)
val numbers = Map("one" -> 1, "two" -> 2, "three" -> 3)
val airports = Map("arrival" -> "Otopeni", "SFO" -> "San Fran")
val rdd = sc.parallelize(Seq(numbers, airports))
rdd.saveToEs("spark/docs")
连接失败,一直在重试
16/07/11 17:20:07 INFO HttpMethodDirector: I/O exception (java.net.ConnectException) caught when processing request: Operation timed out
16/07/11 17:20:07 INFO HttpMethodDirector: Retrying request
我尝试使用 docker inspect 为 elasticsearch 图像提供的 IPAddress ,这也不起作用。但是,当我使用本机安装的 elasticsearch 时,Spark 应用程序运行良好。有什么想法吗?
【问题讨论】:
标签: elasticsearch apache-spark docker containers docker-compose