Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用桥接模式在docker容器中运行Apache Spark 2.1驱动程序_Java_Apache Spark_Docker_Spark Streaming - Fatal编程技术网

Java 如何使用桥接模式在docker容器中运行Apache Spark 2.1驱动程序

Java 如何使用桥接模式在docker容器中运行Apache Spark 2.1驱动程序,java,apache-spark,docker,spark-streaming,Java,Apache Spark,Docker,Spark Streaming,我正在尝试使用带有阴影jar的客户端模式,从一个停靠的apachespark应用程序连接到独立的apachespark集群 我设置了以下属性 - spark.driver.port - spark.driver.blockManager.port - spark.driver.bindAddress with Docker Host's IP - SPARK_PUBLIC_DNS environment variable with Docker Host's IP. 我已公开并映射设置

我正在尝试使用带有阴影jar的客户端模式,从一个停靠的apachespark应用程序连接到独立的apachespark集群

我设置了以下属性

 - spark.driver.port
 - spark.driver.blockManager.port
 - spark.driver.bindAddress with Docker Host's IP
 - SPARK_PUBLIC_DNS environment variable with Docker Host's IP.
我已公开并映射设置端口与主机端口。应用程序显示在Spark Master上运行,但没有从workers返回响应。 在前面没有设置这些属性的情况下,它在spark master上显示为等待状态,设置这些属性后,它显示为正在运行,但操作没有返回响应,因此它挂起

如果我没有将spark.driver.bindAddress设置为Docker主机的IP,那么在检查workers上的日志时,将生成驱动程序url-

 --driver-url spark://CoarseGrainedScheduler@X.X.X.X:7000
  The X.X.X.X is the container IP.
  All workers binds to container's IP (like 172.17.0.45), which cannot be
  connected to and from master or driver.
  If i set it to Docker Host's IP, It fails as that IP is not visible within the container, 
  but would be reachable by others as port-forwarding is configured.

我错过了什么?还有其他属性需要设置吗?

它是Spark Standalone cluster,不是吗?您如何提交spark申请?spark submit的日志中有什么内容?当你说“它挂起”时,(spark submit和workers的)日志中有什么?@JacekLaskowski Hi,感谢你的快速响应,我没有使用spark submit,我正在运行一个带有spark依赖项的着色jar。我所说的“挂起”是指操作不会返回任何结果。在检查主机的日志时,当我用docker主机的IP设置SPARK\u PUBLIC\u DNS时,执行者正在连接和断开连接,但是如果我用docker容器IP设置SPARK.driver.bindAddress,用docker主机的IP设置SPARK.driver.Host,它会失败,并出现16次maxPortRetries错误。@Kiba,你解决了这个问题吗?