EsHadoopIllegalArgumentException: no se puede detectar la versión ES Spark-ElasticSearch ejemplo

Estoy tratando de ejecutar datos simples de escritura en el ejemplo ElasticSearch. Sin embargo, sigo recibiendo este error:

EsHadoopIllegalArgumentException: Cannot detect ES version - typically this happens if the network/Elasticsearch cluster is not accessible or when targeting a WAN/Cloud instance without the proper setting 'es.nodes.wan.only

Mis dependencias para Spark y ElasticSearch:

scalaVersion := "2.11.5"

val sparkVersion = "2.3.0"

resolvers += "Spark Packages Repo" at "http://dl.bintray.com/spark-packages/maven"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % sparkVersion,
  "org.apache.spark" %% "spark-sql" % sparkVersion,
  "org.apache.spark" %% "spark-streaming" % sparkVersion,
  "com.typesafe" % "config" % "1.3.0",
  "org.elasticsearch" %% "elasticsearch-spark-20" % "6.2.4"
)

Aquí está mi código para un ejemplo:

object App {

  def main(args: Array[String]) {
    val sparkConf = new SparkConf()
      .setMaster(args(0))
      .setAppName("KafkaSparkStreaming")
    sparkConf.set("es.index.auto.create", "true")

    val sparkSession = SparkSession
      .builder()
      .config(sparkConf)
      .getOrCreate()

    val streamingContext = new StreamingContext(sparkSession.sparkContext, Seconds(3))
    val sparkContext = streamingContext.sparkContext
    sparkContext.setLogLevel("ERROR")

    val sqlContext = new SQLContext(sparkContext)

    val numbers = Map("one" -> 1, "two" -> 2, "three" -> 3)
    val airports = Map("arrival" -> "Otopeni", "SFO" -> "San Fran")

    sparkContext.makeRDD(Seq(numbers, airports)).saveToEs("spark/docs")

    streamingContext.start()
    streamingContext.awaitTermination()
  }
}

Ejecuto ElasticSearch con la imagen acoplable. Es mi archivo docker-compose.yml:

version: '3.3'
services:
  kafka:
      image: spotify/kafka
      ports:
        - "9092:9092"
      environment:
      - ADVERTISED_HOST=localhost
  elasticsearch:
      image: elasticsearch
  kibana:
      image: kibana
      ports:
        - "5601:5601"

¿Qué podría causar esta excepción? Realmente agradecería algo de ayuda.

Respuestas a la pregunta(1)

Su respuesta a la pregunta