Intellij Idea远程调试利用docker部署的spark集群(standalone)的端口问题

    因正式环境和本地网络策略不通(docker宿主机无法和我自己的电脑互相ping通),无法通过Idea直接调试任务,总不能每次都打包吧,太痛苦了。一直使用本地模式,也无法测试任务的真实运行情况。打开网络策略,运维需要指定端口号,借机了解了spark的两个参数:spark.driver.host、spark.driver.port和spark.blockManager.port。

  host就是指ip,因为本地当spark的driver时候,会默认把机器的名字(如:localhost)传过去,导致spark的executor无法找到driver。

  driver.port和blockManager.port是指driver和executors上互相通信的端口,可以自己指定。

  至于如果无法打通网络,那么就会很复杂,每次都需要打包,提交到spark集群,太折腾了。

  参考文章:

    Spark1.6 Idea下远程调试的2种方法

    Spark官网配置


你可能感兴趣的:(Spark,Docker)