4

我刚刚使用 DataProc 在 Google Cloud 中设置了一个 Spark 集群,我正在尝试使用文档中指定的 gcutil 从我的本地计算机提交一个简单的 pyspark hello-world.py 作业 - https://cloud.google.com/dataproc /提交作业

gcloud beta dataproc jobs submit pyspark --cluster cluster-1 hello-world.py

但是,我收到以下错误:

15/12/28 08:54:53 WARN org.spark-project.jetty.util.component.AbstractLifeCycle: FAILED   SelectChannelConnector@0.0.0.0:4040: java.net.BindException: Address  already in use
java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
   at org.spark-project.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:187)
...
  py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:68)
   at py4j.GatewayConnection.run(GatewayConnection.java:207)
   at java.lang.Thread.run(Thread.java:745)

我只提交了一次这个工作,所以我很困惑为什么我会收到这个错误。任何帮助,将不胜感激。

4

1 回答 1

4

创建 spark 上下文时,默认情况下会在 4040 处启动应用程序 UI 端口。当 UI 启动时,它会检查它是否正在使用,如果是,它应该增加到 4041。看起来你在端口 4040 上运行了一些东西。应用程序应该向您显示警告,然后尝试在 4041 上启动 UI。

于 2015-12-28T22:00:44.827 回答