Tag: datastax enterprise

Spark节点使用错误的IP地址进行通信(Docker)

我有一个使用Docker创build的Spark(DataStax企业)集群,使用docker-compose绑定在一起。 这仅用于本地开发目的。 容器在他们自己的dockernetworking中: 172.18.0.0/16 。 我在运行Docker工具箱的Mac上,我可以直接从我的机器上访问这些容器,因为我已经在172.18.0.0/16上手动添加了一个到172.18.0.0/16的路由,这是Virtualbox在Mac上提供的虚拟networking。 vboxnet0接口的我的一面有IP 192.168.99.1 。 docker机端有192.168.99.101 。 这一切都很好,主Web UI出现在172.18.0.2:7080 ,所有的节点都显示正确,他们的172.x IP地址(并继续这样做,如果我扩大通过例如docker-compose scale spark=5 )。 但是,当我提交工作时,例如: $SPARK_HOME/bin/spark-submit –master spark://172.18.0.2:7077 –class myapp.Main \ ./target/scala-2.10/myapp-assembly-1.0.0-SNAPSHOT.jar , 这是非常缓慢的(我认为由于重试),我看到这样的错误,直到它终于成功: 16/09/16 13:01:53 WARN TaskSetManager: Lost task 0.0 in stage 2.0 (TID 5, 192.168.99.101): org.apache.spark.storage.BlockFetchException: Failed to fetch block from 1 locations. Most recent failure cause: at org.apache.spark.storage.BlockManager$$anonfun$doGetRemote$2.apply(BlockManager.scala:595) […]