J'essaye de configurer un groupe d'étincelles de 2 machines. Je le configure en utilisant deux machines invitées VirtualBox Ubutnu 16.04 sur l'hôte Windows. Master est Ubuntu 16.04 Guest sur Windows 10 hôte et Slave est Ubuntu 16.04 Invité sur Windows 7 Host.La connexion Spark Master se ferme avec une demande en attente de Spark Slave
je l'ai fait les choses suivantes:
- mot de passe de configuration moins ssh sur les deux machines.
- Configuration Java et Spark sur les deux machines
- variables de chemin d'installation sur les deux machines
- Ajouter à la fois IP de la machine à/etc/d'accueil sur les deux machines
- Ajouter SPARK_MASTER_IP = 'master_ip' sur fichier conf/étincelle de la machine esclave -env.sh fichier
Maintenant, quand je démarre le maître, il se déclenche à droite. Je peux accéder à l'interface Web du Spark Master sur master_ip: 8080.
Mais quand je suis en train de commencer un nœud esclave de la machine esclave à l'aide sudo ./start-slave.sh master_ip:8080
ce qui suit se produit:
Le travailleur esclave est démarré et je peux accéder à ses interface Web à slave_ip: 8081, mais le travailleur esclave ne parvient pas à se connecter au maître et n'est pas affiché sur l'interface utilisateur Web master Spark avec l'erreur suivante dans le fichier journal des travailleurs:
Slave Log 1 Je ne peux pas poster plus de deux liens vers je ne suis pas en mesure d'afficher l'esclave complet log
Slave Connexion
Spark Command: /usr/lib/jvm/java-8-oracle/jre//bin/java -cp /home/clusterslave/spark/spark-2.2.0-bin-hadoop2.7/conf/:/home/clusterslave/spark$
========================================
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
17/08/29 00:41:32 INFO Worker: Started daemon with process name: [email protected]
17/08/29 00:41:32 INFO SignalUtils: Registered signal handler for TERM
17/08/29 00:41:32 INFO SignalUtils: Registered signal handler for HUP
17/08/29 00:41:32 INFO SignalUtils: Registered signal handler for INT
17/08/29 00:41:32 WARN Utils: Your hostname, clusterslave-VirtualBox resolves to a loopback address: 127.0.0.1; using master_ip instead ($
17/08/29 00:41:32 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
17/08/29 00:41:33 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/08/29 00:41:33 INFO SecurityManager: Changing view acls to: root
17/08/29 00:41:33 INFO SecurityManager: Changing modify acls to: root
17/08/29 00:41:33 INFO SecurityManager: Changing view acls groups to:
17/08/29 00:41:33 INFO SecurityManager: Changing modify acls groups to:
17/08/29 00:41:33 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(root); $
17/08/29 00:41:34 INFO Utils: Successfully started service 'sparkWorker' on port 38929.
17/08/29 00:41:34 INFO Worker: Starting Spark worker slave_ip:38929 with 4 cores, 5.8 GB RAM
17/08/29 00:41:34 INFO Worker: Running Spark version 2.2.0
17/08/29 00:41:34 INFO Worker: Spark home: /home/clusterslave/spark/spark-2.2.0-bin-hadoop2.7
17/08/29 00:41:34 INFO Utils: Successfully started service 'WorkerUI' on port 8081.
17/08/29 00:41:34 INFO WorkerWebUI: Bound WorkerWebUI to 0.0.0.0, and started at http://slave_ip:8081
17/08/29 00:41:34 INFO Worker: Connecting to master master_ip:8080...
17/08/29 00:41:34 INFO TransportClientFactory: Successfully created connection to /master_ip:8080 after 105 ms (0 ms spent in bootstraps)
17/08/29 00:41:34 ERROR TransportResponseHandler: Still have 1 requests outstanding when connection from /master_ip:8080 is closed
17/08/29 00:41:34 WARN Worker: Failed to connect to master master_ip:8080
org.apache.spark.SparkException: Exception thrown in awaitResult:
at org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:205)
at org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:75)
at org.apache.spark.rpc.RpcEnv.setupEndpointRefByURI(RpcEnv.scala:100)
at org.apache.spark.rpc.RpcEnv.setupEndpointRef(RpcEnv.scala:108)
at org.apache.spark.deploy.worker.Worker$$anonfun$org$apache$spark$deploy$worker$Worker$$tryRegisterAllMasters$1$$anon$1.run(Worker.s$
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Connection from /master_ip:8080 closed
at org.apache.spark.network.client.TransportResponseHandler.channelInactive(TransportResponseHandler.java:146)
at org.apache.spark.network.server.TransportChannelHandler.channelInactive(TransportChannelHandler.java:108)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:220)
at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
at io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:278)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:220)
at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:220)
at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
at org.apache.spark.network.util.TransportFrameDecoder.channelInactive(TransportFrameDecoder.java:182)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:220)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1289)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:893)
at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:691)
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)
... 1 more
17/08/29 00:41:42 INFO Worker: Retrying connection to master (attempt # 1)
Voici fonctionnent très bien:
- Mot de passe moins ssh vers et depuis les deux machines
- Ping aux ports des deux machines en utilisant la commande
nc -v ip port
réussit- De l'esclave au maître:
Connecting to master_ip:8080 port [tcp/http-alt] succeeded!
- de maître à esclave:
Connecting to slave_ip:8081 port [tcp/tproxy] succeeded!
- De l'esclave au maître:
J'ai aussi essayé laisser tomber les pare-feu sur les deux machines. Le problème persiste néanmoins
Aidez-moi à résoudre ce problème. Merci.
Spark maître hôte est de Windows 10 et Spark hôte esclave est Windows 7 alors que les deux sont en cours d'exécution sur des clients Ubuntu 16.04 dans VirtualBox –
Vous devez publier le texte des journaux relvant dans le corps de la question. Les liens hors site vont pourrir, rendant cette question moins utile pour les autres. – jdv
Veuillez ne pas mettre à jour la question en utilisant des commentaires. EDIT le corps de la question et mettre des informations supplémentaires de cette façon. – jdv