Pls. см конфигурация
es.nodes.discovery
(по умолчанию true)
Обнаруживать ли узлы в кластере es или использовать только те, которые указаны в es.nodes для запросов метаданных. Обратите внимание, что этот параметр применяется только при запуске; впоследствии при чтении и записи es использует целевые сегменты индекса (и их хост-узлы), если не включен es.nodes.client.only
.
make es.nodes.discovery
false
пример:
EsSpark.saveToEs(userTweetRDD, "twitter/test", Map("es.nodes" -> "xx.xx.xx.xxx", "es.cluster.name" -> xxxx-xxxxx"))
добавить
"es.nodes.discovery" -> "false"
в вашем случае
ваш пример:
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.elasticsearch.spark._
val conf:SparkConf = new SparkConf().setAppName("MYESAPP")
.setMaster("local")// for "local" for local testing if you are using yarn then "yarn"
conf.set("es.index.auto.create", "true")
conf.set("es.nodes", "1.2.3.4")
conf.set("es.nodes.discovery", "false")
val sc = new SparkContext(conf)
val numbers = Map("one" -> 1, "two" -> 2, "three" -> 3)
val airports = Map("arrival" -> "Otopeni", "SFO" -> "San Fran")
sc.makeRDD(Seq(numbers, airports)).saveToEs("spark/docs")