J'essaie d'exécuter l'exemple Spark suivant sous Hadoop 2.6, mais le message d'erreur suivant s'affiche:
INFO RMProxy: Connexion à ResourceManager à /0.0.0.0:8032 et le client entre en boucle pour tenter de se connecter. Je gère un cluster de deux machines, un maître et un esclave.
./bin/spark-submit --class org.Apache.spark.examples.SparkPi \
--master yarn-cluster \
--num-executors 3 \
--driver-memory 2g \
--executor-memory 2g \
--executor-cores 1 \
--queue thequeue \
lib/spark-examples*.jar \
10
C'est l'erreur que j'obtiens:
15/12/06 13:38:28 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable
15/12/06 13:38:29 INFO RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/12/06 13:38:30 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/12/06 13:38:31 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/12/06 13:38:32 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/12/06 13:38:33 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 3 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/12/06 13:38:34 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 4 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
jps
hduser @ master:/usr/local/spark $ jps
4930 ResourceManager
4781 SecondaryNameNode
5776 Jps
4608 DataNode
5058 NodeManager
4245 Worker
4045 Master
Mon/etc/Host /
/etc/hosts
192.168.0.1 master
192.168.0.2 slave
Les lignes suivantes sont souhaitables pour les hôtes compatibles IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
Cette erreur survient principalement lorsque le nom d’hôte n’est pas configuré correctement ... Veuillez vérifier si le nom d’hôte est correctement configuré et identique à celui que vous avez mentionné pour Resourcemanager ...
J'avais affronté le même problème. Je l'ai résolu.
Suivez les étapes suivantes.
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
Une exportation similaire HADOOP_CONF_DIR =/etc/hadoop/conf était une bonne idée pour mon cas en flink on yarn quand je lance ./bin/yarn-session.sh -n 2 -tm 2000.
Comme vous pouvez le constater, iciyarn.resourcemanager.address
est calculé sur la base de yarn.resourcemanager.hostname
dont la valeur par défaut est0.0.0.0. Donc, vous devriez le configurer correctement.
Depuis la base de l’installation Hadoop, éditez le fichier etc/hadoop/yarn-site.xml
et ajoutez cette propriété.
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
Exécuter à nouveau start-yarn.sh
mettra en vigueur vos nouveaux paramètres.
J'avais également rencontré le même problème où je ne pouvais pas soumettre l'étincelle avec spark-submit.
Le problème était dû au chemin HADOOP_CONF_DIR manquant lors du lancement du travail Spark. Ainsi, chaque fois que vous soumettez le travail, définissez HADOOP_CONF_DIR sur le répertoire HADOOP CONF approprié. Comme export HADOOP_CONF_DIR =/etc/hadoop/conf
J'ai le même problème. Ma cause est que les temps ne sont pas les mêmes entre les machines puisque mon gestionnaire de ressources n'est pas sur la machine principale. Une différence d'une seconde peut causer un problème de connexion du fil. Une différence de quelques secondes de plus peut empêcher le démarrage de votre nom et de votre noeud de date. Utilisez ntpd pour configurer la synchronisation de l'heure afin de vous assurer que les heures sont exactement les mêmes.
Vous devez vous assurer que yarn-site.xml se trouve sur le chemin de classe et que les propriétés pertinentes sont marquées avec un élément true.