web-dev-qa-db-fra.com

Mac spark-Shell Erreur lors de l'initialisation de SparkContext

J'ai essayé de démarrer spark 1.6.0 (spark-1.6.0-bin-hadoop2.4) sur Mac OS Yosemite 10.10.5 en utilisant 

"./bin/spark-Shell". 

Il a l'erreur ci-dessous. J'ai également essayé d'installer différentes versions de Spark mais toutes ont la même erreur. C’est la deuxième fois que je lance Spark. Mon cycle précédent fonctionne bien. 

log4j:WARN No appenders could be found for logger (org.Apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.Apache.org/log4j/1.2/faq.html#noconfig for more info.
Using Spark's repl log4j profile: org/Apache/spark/log4j-defaults-repl.properties
To adjust logging level use sc.setLogLevel("INFO")
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 1.6.0
      /_/

Using Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_79)
Type in expressions to have them evaluated.
Type :help for more information.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
16/01/04 13:49:40 ERROR SparkContext: Error initializing SparkContext.
Java.net.BindException: Can't assign requested address: Service 'sparkDriver' 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 io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.Java:125)
    at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.Java:485)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.Java:1089)
    at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.Java:430)
    at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.Java:415)
    at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.Java:903)
    at io.netty.channel.AbstractChannel.bind(AbstractChannel.Java:198)
    at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.Java:348)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.Java:357)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.Java:357)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.Java:111)
    at Java.lang.Thread.run(Thread.Java:745)
Java.net.BindException: Can't assign requested address: Service 'sparkDriver' 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 io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.Java:125)
    at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.Java:485)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.Java:1089)
    at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.Java:430)
    at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.Java:415)
    at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.Java:903)
    at io.netty.channel.AbstractChannel.bind(AbstractChannel.Java:198)
    at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.Java:348)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.Java:357)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.Java:357)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.Java:111)
    at Java.lang.Thread.run(Thread.Java:745)

Java.lang.NullPointerException
    at org.Apache.spark.sql.SQLContext$.createListenerAndUI(SQLContext.scala:1367)
    at org.Apache.spark.sql.Hive.HiveContext.<init>(HiveContext.scala:101)
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:57)
    at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.Java:45)
    at Java.lang.reflect.Constructor.newInstance(Constructor.Java:526)
    at org.Apache.spark.repl.SparkILoop.createSQLContext(SparkILoop.scala:1028)
    at $iwC$$iwC.<init>(<console>:15)
    at $iwC.<init>(<console>:24)
    at <init>(<console>:26)
    at .<init>(<console>:30)
    at .<clinit>(<console>)
    at .<init>(<console>:7)
    at .<clinit>(<console>)
    at $print(<console>)
    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.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065)
    at org.Apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1346)
    at org.Apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840)
    at org.Apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871)
    at org.Apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819)
    at org.Apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:857)
    at org.Apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:902)
    at org.Apache.spark.repl.SparkILoop.command(SparkILoop.scala:814)
    at org.Apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:132)
    at org.Apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:124)
    at org.Apache.spark.repl.SparkIMain.beQuietDuring(SparkIMain.scala:324)
    at org.Apache.spark.repl.SparkILoopInit$class.initializeSpark(SparkILoopInit.scala:124)
    at org.Apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:64)
    at org.Apache.spark.repl.SparkILoop$$anonfun$org$Apache$spark$repl$SparkILoop$$process$1$$anonfun$apply$mcZ$sp$5.apply$mcV$sp(SparkILoop.scala:974)
    at org.Apache.spark.repl.SparkILoopInit$class.runThunks(SparkILoopInit.scala:159)
    at org.Apache.spark.repl.SparkILoop.runThunks(SparkILoop.scala:64)
    at org.Apache.spark.repl.SparkILoopInit$class.postInitialization(SparkILoopInit.scala:108)
    at org.Apache.spark.repl.SparkILoop.postInitialization(SparkILoop.scala:64)
    at org.Apache.spark.repl.SparkILoop$$anonfun$org$Apache$spark$repl$SparkILoop$$process$1.apply$mcZ$sp(SparkILoop.scala:991)
    at org.Apache.spark.repl.SparkILoop$$anonfun$org$Apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
    at org.Apache.spark.repl.SparkILoop$$anonfun$org$Apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
    at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
    at org.Apache.spark.repl.SparkILoop.org$Apache$spark$repl$SparkILoop$$process(SparkILoop.scala:945)
    at org.Apache.spark.repl.SparkILoop.process(SparkILoop.scala:1059)
    at org.Apache.spark.repl.Main$.main(Main.scala:31)
    at org.Apache.spark.repl.Main.main(Main.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)

<console>:16: error: not found: value sqlContext
         import sqlContext.implicits._
                ^
<console>:16: error: not found: value sqlContext
         import sqlContext.sql

Puis j'ajoute 

export SPARK_LOCAL_IP="127.0.0.1"

pour spark-env.sh, l’erreur devient:

 ERROR : No route to Host
    Java.net.ConnectException: No route to Host
        at Java.net.Inet6AddressImpl.isReachable0(Native Method)
        at Java.net.Inet6AddressImpl.isReachable(Inet6AddressImpl.Java:77)
        at Java.net.InetAddress.isReachable(InetAddress.Java:475)
...
<console>:10: error: not found: value sqlContext
       import sqlContext.implicits._
              ^
<console>:10: error: not found: value sqlContext
       import sqlContext.sql
52
Jia

Les étapes suivantes pourraient aider:

  1. Obtenez votre nom d'hôte en utilisant la commande "nom d'hôte".

  2. Faites une entrée dans le fichier/etc/hosts pour votre nom d’hôte si elle n’est pas présente comme suit: 

    127.0.0.1      your_hostname
    

J'espère que cela t'aides!!

101
Gaurav Sharma

Je comprends toujours cela lorsque je change de réseau. Cela résout le problème:

$ Sudo hostname -s 127.0.0.1

86
Ardavan

Je l'ai construit à partir de la branche principale actuelle avec la version 2.0.0-SNAPSHOT. Après avoir ajouté export SPARK_LOCAL_IP="127.0.0.1" à load-spark-env.sh, cela a fonctionné pour moi. J'utilise Macos 10.10.5. Donc, cela pourrait être un problème de version?

25
meltac

Il suffit de définir le spark.driver.Host pour qu'il soit votre hôte local si vous utilisez IDE

SparkConf conf = new  SparkConf().setMaster("local[2]").setAppName("AnyName").set("spark.driver.Host", "localhost");
JavaSparkContext sc = new JavaSparkContext(conf);
23
Mohamed Ahmed

Il y a deux erreurs je pense.

  1. Votre adresse IP locale d'allumage n'était pas correcte et doit être remplacée par 127.0.0.1.
  2. Vous n'avez pas correctement défini sqlContext.

Pour 1. j'ai essayé:

  • 1) SPARK_LOCAL_IP exporté = "127.0.0.1" dans ~/.bash_profile
  • 2) ajouté l'exportation SPARK_LOCAL_IP = "127.0.0.1" dans load-spark-env.sh sous $ SPARK_HOME

Mais ni a travaillé. Ensuite, j'ai essayé ce qui suit et cela a fonctionné:

val conf = new SparkConf().
    setAppName("SparkExample").
    setMaster("local[*]").
    set("spark.driver.bindAddress","127.0.0.1")
val sc = new SparkContext(conf)

Pour 2. vous pouvez essayer:

sqlContext = SparkSession.builder.config("spark.master","local[*]").getOrCreate()

et ensuite import sqlContext.implicits._

Le constructeur dans SparkSession utilisera automatiquement le SparkContext s'il existe, sinon il en créera un. Vous pouvez explicitement en créer deux si nécessaire.

6
Rong Du

Si vous ne souhaitez pas modifier le nom d'hôte de votre Mac, vous pouvez procéder comme suit:

  1. Recherchez le fichier modèle spark-env.sh.template sur votre ordinateur (il est probablement dans /usr/local/Cellar/Apache-spark/2.1.0/libexec/conf/).
  2. cp spark-env.sh.template spark-env.sh
  3. Ajoutez export SPARK_LOCAL_IP=127.0.0.1 sous le commentaire de l'adresse IP locale.

Démarrez spark-Shell et profitez-en. 

3
Dvin

Parfois, le pare-feu empêche la création et la liaison d'un socket. assurez-vous que votre pare-feu n'est pas activé et que vous devez vérifier l'adresse IP de votre machine dans/etc/hosts et assurez-vous qu'il est OK, puis réessayez:

Sudo ufw disable
2
Mahdi Esmailoghli
sparkContext = new JavaSparkContext("local[4]", "Appname")
export SPARK_LOCAL_IP=127.0.0.1

faire juste ci-dessus a fonctionné pour moi.

1
geekgirlspu

Vient d'ajouter: export SPARK_LOCAL_IP = 127.0.0.1

(pour mac. profil_bash)

1
alturium

Si vous utilisez Scala pour exécuter le code dans un IDE, et si vous rencontrez le même problème et que vous n'utilisez pas SparkConf () comme indiqué ci-dessus et que vous utilisez SparkSession (), vous pouvez lier l'adresse localhost de la manière suivante: dans SparkConf (). Utilisez .config () pour définir la configuration de l’étincelle comme indiqué ci-dessous:

    val spark = SparkSession
       .builder()
       .appName("CSE512-Phase1")
       .master("local[*]").config("spark.driver.bindAddress", "localhost")
       .getOrCreate()
0
Sidharth Panicker

Cela se produit lorsque vous passez d'un réseau à un autre (VPN - PROD, CI basé sur les réseaux de votre entreprise pour accéder à différents environnements).

J'ai eu le même problème, chaque fois que je change de VPN.

mettez à jour Sudo/etc/hosts avec la valeur du nom d’hôte sur votre Mac.

0
Yoga Gowda