zoukankan      html  css  js  c++  java
  • Spark:java.net.BindException: Address already in use: Service 'SparkUI' failed after 16 retries!

    spark同时提交多个任务,运行时候报错。

    17/02/27 16:29:43 WARN AbstractLifeCycle: FAILED org.spark-project.jetty.server.Server@d0c51d7: 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:444)

            at sun.nio.ch.Net.bind(Net.java:436)

            at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)

            at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)

            at org.spark-project.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:187)

            at org.spark-project.jetty.server.AbstractConnector.doStart(AbstractConnector.java:316)

            at org.spark-project.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:265)

            at org.spark-project.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)

            at org.spark-project.jetty.server.Server.doStart(Server.java:293)

            at org.spark-project.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)

            at org.apache.spark.ui.JettyUtils$.org$apache$spark$ui$JettyUtils$$connect$1(JettyUtils.scala:252)

            at org.apache.spark.ui.JettyUtils$$anonfun$5.apply(JettyUtils.scala:262)

            at org.apache.spark.ui.JettyUtils$$anonfun$5.apply(JettyUtils.scala:262)

            at org.apache.spark.util.Utils$$anonfun$startServiceOnPort$1.apply$mcVI$sp(Utils.scala:1988)

            at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141)

            at org.apache.spark.util.Utils$.startServiceOnPort(Utils.scala:1979)

            at org.apache.spark.ui.JettyUtils$.startJettyServer(JettyUtils.scala:262)

            at org.apache.spark.ui.WebUI.bind(WebUI.scala:136)

            at org.apache.spark.SparkContext$$anonfun$13.apply(SparkContext.scala:481)

            at org.apache.spark.SparkContext$$anonfun$13.apply(SparkContext.scala:481)

            at scala.Option.foreach(Option.scala:236)

            at org.apache.spark.SparkContext.<init>(SparkContext.scala:481)

            at com.cnpc.gcjs.prediction.Apps120$.main(Apps120.scala:54)

            at com.cnpc.gcjs.prediction.Apps120.main(Apps120.scala)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

            at java.lang.reflect.Method.invoke(Method.java:606)

            at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)

            at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)

            at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)

            at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)

            at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

    17/02/27 16:29:43 ERROR SparkUI: Failed to bind SparkUI

    java.net.BindException: Address already in use: Service 'SparkUI' failed after 16 retries!

            at sun.nio.ch.Net.bind0(Native Method)

            at sun.nio.ch.Net.bind(Net.java:444)

            at sun.nio.ch.Net.bind(Net.java:436)

            at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)

            at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)

            at org.spark-project.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:187)

            at org.spark-project.jetty.server.AbstractConnector.doStart(AbstractConnector.java:316)

            at org.spark-project.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:265)

            at org.spark-project.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)

            at org.spark-project.jetty.server.Server.doStart(Server.java:293)

            at org.spark-project.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)

            at org.apache.spark.ui.JettyUtils$.org$apache$spark$ui$JettyUtils$$connect$1(JettyUtils.scala:252)

            at org.apache.spark.ui.JettyUtils$$anonfun$5.apply(JettyUtils.scala:262)

            at org.apache.spark.ui.JettyUtils$$anonfun$5.apply(JettyUtils.scala:262)

            at org.apache.spark.util.Utils$$anonfun$startServiceOnPort$1.apply$mcVI$sp(Utils.scala:1988)

            at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141)

            at org.apache.spark.util.Utils$.startServiceOnPort(Utils.scala:1979)

            at org.apache.spark.ui.JettyUtils$.startJettyServer(JettyUtils.scala:262)

            at org.apache.spark.ui.WebUI.bind(WebUI.scala:136)

            at org.apache.spark.SparkContext$$anonfun$13.apply(SparkContext.scala:481)

            at org.apache.spark.SparkContext$$anonfun$13.apply(SparkContext.scala:481)

            at scala.Option.foreach(Option.scala:236)

            at org.apache.spark.SparkContext.<init>(SparkContext.scala:481)

            at com.cnpc.gcjs.prediction.Apps120$.main(Apps120.scala:54)

            at com.cnpc.gcjs.prediction.Apps120.main(Apps120.scala)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

            at java.lang.reflect.Method.invoke(Method.java:606)

            at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)

            at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)

            at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)

            at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)

            at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

    错误原因:

    每一个Spark任务都会占用一个SparkUI端口,默认为4040,如果被占用则依次递增端口重试。但是有个默认重试次数,为16次。16次重试都失败后,会放弃该任务的运行。

    解决方法

    初始化SparkConf时,添加conf.set(“spark.port.maxRetries”,“100”)语句

    使用spark-submit提交任务时,在命令行中添加-Dspark.port.maxRetries=100

    Maybe --conf spark.port.maxRetries="100"

    在spark-defaults.conf中添加spark.port.maxRetries 100

  • 相关阅读:
    TinySpider开源喽
    TinyXmlParser开源喽
    Tiny快速入门之控制层开发
    TinyDBRouter
    TinyIOC
    开源前要做好哪些准备工作?
    分布式锁的简单实现
    TinyDBCluster Vs routing4db
    HTML5基础(五)
    HTML5基础(四)
  • 原文地址:https://www.cnblogs.com/OS-BigData/p/8527259.html
Copyright © 2011-2022 走看看