Namenode HA (UnknownHostException: nameservice1)
Nous permettre Namenode Haute Disponibilité grâce à Cloudera Manager, à l'aide de
Cloudera Manager >> SF >> > Activer la Haute Disponibilité >> support Choisi Par le Namenode & Journal des Nœuds
Puis nameservice1
Une fois l'ensemble du processus complété ensuite Déployé de Configuration du Client.
Testé à partir de la Machine Client par l'inscription de HDFS répertoires (hadoop fs -ls /) puis basculer manuellement en mode veille namenode & là encore la liste HDFS répertoires (hadoop fs -ls /). Ce test a fonctionné parfaitement.
Mais Quand j'ai couru hadoop sommeil emploi à l'aide de commande suivante il a échoué
$ hadoop jar /opt/cloudera/parcels/CDH-4.6.0-1.cdh4.6.0.p0.26/lib/hadoop-0.20-mapreduce/hadoop-examples.jar sleep -m 1 -r 0
java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice1
at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:414)
at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:164)
at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:129)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:448)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:410)
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:128)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2308)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:87)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2342)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2324)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:351)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:194)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:103)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:980)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:974)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:416)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1438)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:974)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:948)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1410)
at org.apache.hadoop.examples.SleepJob.run(SleepJob.java:174)
at org.apache.hadoop.examples.SleepJob.run(SleepJob.java:237)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.examples.SleepJob.main(SleepJob.java:165)
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:622)
at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:72)
at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:144)
at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:64)
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:622)
at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
Caused by: java.net.UnknownHostException: nameservice1
... 37 more
Je ne sais pas pourquoi ses pas en mesure de résolu nameservice1 même après le déploiement configuration du client.
Quand je google cette question, j'ai trouvé qu'une seule solution à ce problème
Ajouter ci-dessous l'entrée dans la configuration de l'entrée pour résoudre le problème
dfs.nameservices=nameservice1
dfs.ha.namenodes.nameservice1=namenode1,namenode2
dfs.namenode.rpc-adresse.nameservice1.namenode1=ip-10-118-137-215.ec2.interne:8020
dfs.namenode.rpc-adresse.nameservice1.namenode2=ip-10-12-122-210.ec2.interne:8020
dfs.client.failover.proxy.provider.nameservice1=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
Mon impression a été Cloudera Manager de prendre soins de lui. J'ai vérifié client pour ce type de configuration & configuration (/var/run/cloudera-scm-agent/process/1998-deploy-client-config/hadoop-conf/hdfs-site.xml).
Aussi un peu plus de détails de fichiers de configuration :
[11:22:37 [email protected]:~]# ls -l /etc/hadoop/conf.cloudera.*
/etc/hadoop/conf.cloudera.hdfs:
total 16
-rw-r--r-- 1 root root 943 Jul 31 09:33 core-site.xml
-rw-r--r-- 1 root root 2546 Jul 31 09:33 hadoop-env.sh
-rw-r--r-- 1 root root 1577 Jul 31 09:33 hdfs-site.xml
-rw-r--r-- 1 root root 314 Jul 31 09:33 log4j.properties
/etc/hadoop/conf.cloudera.hdfs1:
total 20
-rwxr-xr-x 1 root root 233 Sep 5 2013 container-executor.cfg
-rw-r--r-- 1 root root 1890 May 21 15:48 core-site.xml
-rw-r--r-- 1 root root 2546 May 21 15:48 hadoop-env.sh
-rw-r--r-- 1 root root 1577 May 21 15:48 hdfs-site.xml
-rw-r--r-- 1 root root 314 May 21 15:48 log4j.properties
/etc/hadoop/conf.cloudera.mapreduce:
total 20
-rw-r--r-- 1 root root 1032 Jul 31 09:33 core-site.xml
-rw-r--r-- 1 root root 2775 Jul 31 09:33 hadoop-env.sh
-rw-r--r-- 1 root root 1450 Jul 31 09:33 hdfs-site.xml
-rw-r--r-- 1 root root 314 Jul 31 09:33 log4j.properties
-rw-r--r-- 1 root root 2446 Jul 31 09:33 mapred-site.xml
/etc/hadoop/conf.cloudera.mapreduce1:
total 24
-rwxr-xr-x 1 root root 233 Sep 5 2013 container-executor.cfg
-rw-r--r-- 1 root root 1979 May 16 12:20 core-site.xml
-rw-r--r-- 1 root root 2775 May 16 12:20 hadoop-env.sh
-rw-r--r-- 1 root root 1450 May 16 12:20 hdfs-site.xml
-rw-r--r-- 1 root root 314 May 16 12:20 log4j.properties
-rw-r--r-- 1 root root 2446 May 16 12:20 mapred-site.xml
[11:23:12 [email protected]:~]#
Je doute que son problème avec l'ancienne configuration dans /etc/hadoop/conf.cloudera.hdfs1 & /etc/hadoop/conf.cloudera.mapreduce1 , mais pas sûr.
ressemble à /etc/hadoop/conf/* ne l'ai jamais mis à jour
# ls -l /etc/hadoop/conf/
total 24
-rwxr-xr-x 1 root root 233 Sep 5 2013 container-executor.cfg
-rw-r--r-- 1 root root 1979 May 16 12:20 core-site.xml
-rw-r--r-- 1 root root 2775 May 16 12:20 hadoop-env.sh
-rw-r--r-- 1 root root 1450 May 16 12:20 hdfs-site.xml
-rw-r--r-- 1 root root 314 May 16 12:20 log4j.properties
-rw-r--r-- 1 root root 2446 May 16 12:20 mapred-site.xml
Quelqu'un a une idée sur ce problème?
OriginalL'auteur roy | 2014-07-31
Vous devez vous connecter pour publier un commentaire.
Dirait que vous êtes mauvais client de configuration dans /etc/hadoop/le répertoire conf. Parfois, Cloudera Manager (CM) déployer les configurations de client option peut ne pas fonctionner.
Que vous avez activé NN HA, vous devriez avoir valide core-site.xml et hdfs-site.xml les fichiers dans votre hadoop client répertoire de configuration. Pour obtenir le site valable de fichiers, Allez à HDFS service de CM de Choisir client de Téléchargement de la configuration option à partir de la Actions Bouton. vous obtiendrez des fichiers de configuration au format zip, extraire les fichiers zip et de le remplacer /etc/hadoop/conf/core-site.xml et /etc/hadoop/conf/hdfs-site.xml les fichiers avec l'extrait core-site.xml,hdfs-site.xml les fichiers.
puis utiliser la deuxième option(Téléchargement de la configuration du client et de remplacer les fichiers du site) comme mentionné dans la réponse
Je l'ai corrigé en supprimant lien alternatif
Je n'ai pas ce problème, mais encore il ne fonctionne pas dans presto
OriginalL'auteur SachinJ
Eu résolu. mauvaise config était lié à "/etc/hadoop/conf/" --> "/etc/alternatives/hadoop-conf/" --> "/etc/hadoop/conf.cloudera.mapreduce1"
Il a à être "/etc/hadoop/conf/" --> "/etc/alternatives/hadoop-conf/" --> "/etc/hadoop/conf.cloudera.mapreduce"
OriginalL'auteur roy
déclaration ci-dessous dans mon code résolu le problème en spécifiant l'hôte et le port
OriginalL'auteur user5807826
J'ai résolu ce problème mon mettre la ligne complète pour créer des RDD
myfirstrdd = sc.fichier texte("hdfs://192.168.35.132:8020/BUPA.txt")
et puis j'ai été en mesure de faire d'autres RDD de transformation .. assurez-vous que vous avez le w/r/x pour le fichier ou vous pouvez vous faire un chmod 777 sur
OriginalL'auteur Amit Bhat