Искра поверх Docker не принимает работу

Я пытаюсь заставить пример hello world работать с помощью spark + docker, и вот мой код.

object Generic {
  def main(args: Array[String]) {
    val sc = new SparkContext("spark://172.17.0.3:7077", "Generic", "/opt/spark-0.9.0")

    val NUM_SAMPLES = 100000
    val count = sc.parallelize(1 to NUM_SAMPLES).map{i =>
      val x = Math.random * 2 - 1
      val y = Math.random * 2 - 1
      if (x * x + y * y < 1) 1.0 else 0.0
    }.reduce(_ + _)

    println("Pi is roughly " + 4 * count / NUM_SAMPLES)
  }
}

Когда я бегуsbt run, Я получил

14/05/28 15:19:58 INFO client.AppClient$ClientActor: Connecting to master spark://172.17.0.3:7077...
14/05/28 15:20:08 WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory

Я проверил как интерфейс кластера, где у меня есть 3 узла, каждый из которых имеет 1,5 г памяти, так и интерфейс наменода, где я вижу то же самое.

Журналы докера не показывают вывод от рабочих и следующие от мастера

14/05/28 21:20:38 ERROR EndpointWriter: AssociationError [akka.tcp://sparkMaster@master:7077] -> [akka.tcp://[email protected]:48085]: Error [Association failed with [akka.tcp://[email protected]:48085]] [
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://[email protected]:48085]
Caused by: akka.remote.transport.netty.NettyTransport$anonfun$associateКогда я бегу$anon$2: Connection refused: /10.0.3.1:48085

]

Это происходит пару раз, а затем программа останавливается и умирает с

[error] (run-main-0) org.apache.spark.SparkException: Job aborted: Spark cluster looks down

Когда я сделал tcpdump надdocker0 интерфейс, и похоже, что рабочие и главные узлы разговаривают.

Однако искровая консоль работает.

Если я установлюsc какval sc = new SparkContext("local", "Generic", System.getenv("SPARK_HOME"))программа запускается

Ответы на вопрос(3)

Ваш ответ на вопрос