spark soumettre “Service de "Chauffeur" n'a pas pu lier sur le port” erreur
J'ai utilisé la commande suivante pour exécuter l'étincelle java exemple de nombre de mots:-
time spark-submit --deploy-mode cluster --master spark://192.168.0.7:6066 --class org.apache.spark.examples.JavaWordCount /home/pi/Desktop/example/new/target/javaword.jar /books_50.txt
Quand je le lance, voici le résultat:-
Running Spark using the REST application submission protocol.
16/07/18 03:55:41 INFO rest.RestSubmissionClient: Submitting a request to launch an application in spark://192.168.0.7:6066.
16/07/18 03:55:44 INFO rest.RestSubmissionClient: Submission successfully created as driver-20160718035543-0000. Polling submission state...
16/07/18 03:55:44 INFO rest.RestSubmissionClient: Submitting a request for the status of submission driver-20160718035543-0000 in spark://192.168.0.7:6066.
16/07/18 03:55:44 INFO rest.RestSubmissionClient: State of driver driver-20160718035543-0000 is now RUNNING.
16/07/18 03:55:44 INFO rest.RestSubmissionClient: Driver is running on worker worker-20160718041005-192.168.0.12-42405 at 192.168.0.12:42405.
16/07/18 03:55:44 INFO rest.RestSubmissionClient: Server responded with CreateSubmissionResponse:
{
"action" : "CreateSubmissionResponse",
"message" : "Driver successfully submitted as driver-20160718035543-0000",
"serverSparkVersion" : "1.6.2",
"submissionId" : "driver-20160718035543-0000",
"success" : true
}
J'ai vérifié le travailleur en particulier (192.168.0.12) pour son journal, et il dit:-
Launch Command: "/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java" "-cp" "/opt/spark/conf/:/opt/spark/lib/spark-assembly-1.6.2-hadoop2.6.0.jar:/opt/spark/lib/datanucleus-api-jdo-3.2.6.jar:/opt/spark/lib/datanucleus-core-3.2.10.jar:/opt/spark/lib/datanucleus-rdbms-3.2.9.jar" "-Xms1024M" "-Xmx1024M" "-Dspark.driver.supervise=false" "-Dspark.app.name=org.apache.spark.examples.JavaWordCount" "-Dspark.submit.deployMode=cluster" "-Dspark.jars=file:/home/pi/Desktop/example/new/target/javaword.jar" "-Dspark.master=spark://192.168.0.7:7077" "-Dspark.executor.memory=10M" "org.apache.spark.deploy.worker.DriverWrapper" "spark://[email protected]:42405" "/opt/spark/work/driver-20160718035543-0000/javaword.jar" "org.apache.spark.examples.JavaWordCount" "/books_50.txt"
========================================
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 default log4j profile: org/apache/spark/log4j-defaults.properties
16/07/18 04:10:58 INFO SecurityManager: Changing view acls to: pi
16/07/18 04:10:58 INFO SecurityManager: Changing modify acls to: pi
16/07/18 04:10:58 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(pi); users with modify permissions: Set(pi)
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
16/07/18 04:11:00 WARN Utils: Service 'Driver' could not bind on port 0. Attempting port 1.
Exception in thread "main" java.net.BindException: Cannot assign requested address: Service 'Driver' failed after 16 retries! Consider explicitly setting the appropriate port for the service 'Driver' (for example spark.ui.port for SparkUI) to an available port or increasing spark.port.maxRetries.
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 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)
Mon spark-env.sh fichier (pour le master) contient:-
export SPARK_MASTER_WEBUI_PORT="8080"
export SPARK_MASTER_IP="192.168.0.7"
export SPARK_EXECUTOR_MEMORY="10M"
Mon spark-env.sh fichier (pour le travailleur) contient:-
export SPARK_WORKER_WEBUI_PORT="8080"
export SPARK_MASTER_IP="192.168.0.7"
export SPARK_EXECUTOR_MEMORY="10M"
S'il vous plaît aider...!!
- où vous jamais réussi à résoudre ce problème? j'ai exactement le même problème avec spark v2.0.0.
- Salut, je n'ai pas été en mesure de trouver tous les fils de ce problème particulier. Donc, j'ai commencé la diffusion de la python exemple pour le nombre de mots. S'il vous plaît laissez-moi savoir si vous avez trouver une solution de contournement.
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème lorsque j'essaie de lancer le shell, et a été en mesure d'obtenir ce travail par la mise en au SPARK_LOCAL_IP variable d'environnement. Vous pouvez attribuer cela à partir de la ligne de commande lors de l'exécution de la coque:
SPARK_LOCAL_IP=127.0.0.1 ./bin/spark-shell
Pour une solution plus permanente, créer un spark-env.sh fichier dans le répertoire conf de votre Étincelle de la racine. Ajoutez la ligne suivante:
SPARK_LOCAL_IP=127.0.0.1
Donner des autorisations d'exécution sur le script à l'aide de
chmod +x ./conf/spark-env.sh
, et ce sera de définir cette variable d'environnement par défaut.export
pourSPARK_LOCAL_IP
avant de lancer le script a fonctionné pour moi - pour tester rapidement si cela fonctionnerait ou pas.Je suis à l'aide de Maven/SBT pour gérer les dépendances et l'Étincelle de base est contenue dans un fichier jar.
Vous pouvez remplacer le SPARK_LOCAL_IP au moment de l'exécution par la définition de la "bougie.le pilote.bindAddress" (ici en Scala):
J'ai aussi eu ce problème.
La raison (pour moi) est que l'IP de mon système local n'était pas accessible à partir de mon système local.
Je sais que cette affirmation n'a aucun sens, mais s'il vous plaît lisez ce qui suit.
Mon nom de système (uname -s) indique que mon système est baptisé "sparkmaster".
Dans mon fichier /etc/hosts, j'ai attribué une adresse IP fixe pour le sparkmaster système "192.168.1.70". Il y avait d'autres adresses IP fixes pour sparknode01 et sparknode02 à ...1.71 & ...1.72 respectivement.
En raison de certains problèmes que j'avais, j'avais besoin de changer toutes mes cartes de réseau DHCP. Cela signifiait qu'ils étaient d'obtenir des adresses comme 192.168.90.123.
Les adresses DHCP n'étaient pas dans le même réseau que le ...1.70 gamme et il n'y a aucun itinéraire n'a été configuré.
Lors de l'étincelle commence, est semble vouloir essayer de se connecter à l'hôte indiqué dans la commande uname (c'est à dire sparkmaster dans mon cas). C'était la propriété intellectuelle 192.168.1.70 - mais il n'y avait pas moyen de se connecter à la raison de cette adresse dans un réseau inaccessible.
Ma solution a été de changer l'une de mes cartes Ethernet retour à une adresse statique (c'est à dire 192.168.1.70) et voila problème résolu.
Donc le problème semble être que lors de l'allumage démarre en "mode local", il tente de se connecter à un système nommé d'après votre nom (plutôt que l'hôte local).
Je suppose que cela a un sens, si vous êtes désireux de configuration d'un cluster (Comme je l'ai fait), mais elle peut aboutir à au-dessus de message de confusion.
Éventuellement mettre votre système de nom d'hôte sur le 127.0.0.1 entrée dans /etc/hosts peut également résoudre ce problème, mais je n'ai pas l'essayer.
Vous devez entrer le nom d'hôte de votre
/etc/hosts
fichier.Quelque chose comme:
C'est peut-être un doublon de Spark 1.2.1 autonome le mode cluster étincelle soumettre n'est pas de travail
J'ai essayé la même procédure, mais en mesure d'exécuter le travail. Veuillez poster le plein spark-env.sh et l'étincelle de paramètres par défaut si possible.
J'ai eu ce problème, et c'est à cause de l'évolution réelle IP avec mon IP dans /etc/hosts.
Ce problème est lié à l'adresse IP seul. Les messages d'erreur dans le fichier journal ne sont pas informatifs.
vérifiez avec les 3 étapes suivantes:
vérifier votre adresse IP peut être vérifié avec la commande ifconfig ip ou de commandes. Si votre service n'est pas un service Public. Les adresses IP 192.168 devrait être assez bon. 127.0.0.1 ne peut pas être utilisé si vous êtes la planification d'un cluster.
vérifier votre variable d'environnement SPARK_MASTER_HOST - vérifier il n'y a pas de fautes de frappe dans le nom de la variable ou de l'adresse IP réelle.
env | grep SPARK_
vérifier le port que vous envisagez d'utiliser pour sparkMaster est gratuit avec la commande netstat. Ne pas utiliser un port inférieur à 1024. Par exemple:
netstat -a | 9123
Après votre sparkmaster commence à courir si vous n'êtes pas capable de voir l'interface utilisateur web à partir d'un autre ordinateur, puis ouvrez l'interface utilisateur web du port avec la commande iptables.
J'ai résolu ce problème en modifiant l'esclave de fichier.l'étincelle-2.4.0-bin-hadoop2.7/conf/esclave
veuillez vérifier votre configurer。