Как решить проблему «Не удается назначить запрошенный адрес: сбой службы« sparkDriver »после 16 повторных попыток» при запуске кода зажигания? - PullRequest
0 голосов
/ 02 сентября 2018

Я изучаю spark + scala с intelliJ, начав с небольшого фрагмента кода

import org.apache.spark.{SparkConf, SparkContext}

object ActionsTransformations {

  def main(args: Array[String]): Unit = {
    //Create a SparkContext to initialize Spark
    val conf = new SparkConf()
    conf.setMaster("local")
    conf.setAppName("Word Count")
    val sc = new SparkContext(conf)

    val numbersList = sc.parallelize(1.to(10000).toList)

    println(numbersList)
  }

}

при попытке запустить, получая исключение

Exception in thread "main" java.net.BindException: Can't assign requested address: Service 'sparkDriver' failed after 16 retries (on a random free port)! Consider explicitly setting the appropriate binding address for the service 'sparkDriver' (for example spark.driver.bindAddress for SparkDriver) to the correct binding address.
    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 io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:127)
    at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:501)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1218)
    at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:496)
    at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:481)
    at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:965)
    at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:210)
    at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:353)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:399)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:446)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
    at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
    at java.lang.Thread.run(Thread.java:745)

Process finished with exit code 1

может кто-нибудь подсказать, что делать.

Ответы [ 2 ]

0 голосов
/ 02 сентября 2018

Похоже, порты, которые пытается связать искра, уже используются. Эта проблема начала возникать после того, как вы несколько раз успешно запустили спарк? Возможно, вы захотите проверить, все ли ранее запущенные процессы spark все еще живы и удерживают ли некоторые порты (простой jps / ps -ef должен сказать вам об этом). Если да, убейте эти процессы и попробуйте снова.

0 голосов
/ 02 сентября 2018

Я думаю, setMaster и setAppName вернут новый объект SparkConf, и строка conf.setMaster("local") не повлияет на переменную conf. Поэтому вы должны попробовать:

val conf = new SparkConf()
    .setMaster("local[*]")
    .setAppName("Word Count")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...