URI non valide pour le NameNode adresse
Je suis en train de configurer un Cloudera
cluster Hadoop, avec un nœud maître contenant le namenode
, secondarynamenode
et jobtracker
, et deux autres nœuds contenant les datanode
et tasktracker
. Le Cloudera
version 4.6, l'OS est ubuntu precise x64. Aussi, ce cluster est créé à partir d'une instance AWS. ssh passwordless
a été définie ainsi, Java
instalation Oracle 7.
Chaque fois que j'execute sudo service hadoop-hdfs-namenode start
j'obtiens:
2014-05-14 05:08:38,023 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
java.lang.IllegalArgumentException: Invalid URI for NameNode address (check fs.defaultFS): file:///has no authority.
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:329)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:317)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getRpcServerAddress(NameNode.java:370)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loginAsNameNodeUser(NameNode.java:422)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:442)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:621)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:606)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1177)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1241)
Mon core-site.xml
:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://<master-ip>:8020</value>
</property>
</configuration>
mapred-site.xml
:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://<master-ip>:8021</value>
</property>
</configuration>
hdfs-site.xml
:
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
J'ai essayé d'utiliser public ip
, private-ip
, public dns
et fqdn
, mais le résultat est le même.
Le répertoire /etc/hadoop/conf.empty
ressemble:
-rw-r--r-- 1 root root 2998 Feb 26 10:21 capacity-scheduler.xml
-rw-r--r-- 1 root hadoop 1335 Feb 26 10:21 configuration.xsl
-rw-r--r-- 1 root root 233 Feb 26 10:21 container-executor.cfg
-rwxr-xr-x 1 root root 287 May 14 05:09 core-site.xml
-rwxr-xr-x 1 root root 2445 May 14 05:09 hadoop-env.sh
-rw-r--r-- 1 root hadoop 1774 Feb 26 10:21 hadoop-metrics2.properties
-rw-r--r-- 1 root hadoop 2490 Feb 26 10:21 hadoop-metrics.properties
-rw-r--r-- 1 root hadoop 9196 Feb 26 10:21 hadoop-policy.xml
-rwxr-xr-x 1 root root 332 May 14 05:09 hdfs-site.xml
-rw-r--r-- 1 root hadoop 8735 Feb 26 10:21 log4j.properties
-rw-r--r-- 1 root root 4113 Feb 26 10:21 mapred-queues.xml.template
-rwxr-xr-x 1 root root 290 May 14 05:09 mapred-site.xml
-rw-r--r-- 1 root root 178 Feb 26 10:21 mapred-site.xml.template
-rwxr-xr-x 1 root root 12 May 14 05:09 masters
-rwxr-xr-x 1 root root 29 May 14 05:09 slaves
-rw-r--r-- 1 root hadoop 2316 Feb 26 10:21 ssl-client.xml.example
-rw-r--r-- 1 root hadoop 2251 Feb 26 10:21 ssl-server.xml.example
-rw-r--r-- 1 root root 2513 Feb 26 10:21 yarn-env.sh
-rw-r--r-- 1 root root 2262 Feb 26 10:21 yarn-site.xml
et slaves
répertorie les ip addresses
des deux esclaves des machines:
<slave1-ip>
<slave2-ip>
L'exécution de
update-alternatives --get-selections | grep hadoop
hadoop-conf auto /etc/hadoop/conf.empty
J'ai fait beaucoup de recherche, mais ne pas obtenir quoi que ce soit qui pourrait m'aider à résoudre mon problème. Quelqu'un pourrait-il offrir aucune idée de ce qui se passe?
Il échoue pour deux
fs.defaultFS
et fs.default.name
. En outre, dans le Cloudera page il est dit fs.default.name
est obsolète.Je sais que fs.par défaut.nom est dépréciée en faveur de fs.defaultFS . Je n'ai tout simplement pas voir que vous avez été en utilisant hadoop-2 dans la première place. Regardé le namenode mise en forme de la ligne et réalisé.
Avez-vous une idée de pourquoi le namenode pas de départ?
Généralement "Aucune autorité" signifie qu'aucune autorisation. Avez-vous vérifié les permissions des répertoires namenode est écrit?
OriginalL'auteur cybertextron | 2014-05-14
Vous devez vous connecter pour publier un commentaire.
J'ai été confrontée au même problème et fixé par la mise en forme du namenode. Ci-dessous est la commande:
core-site.xml l'entrée est :
Qui va certainement résoudre le problème.
OriginalL'auteur Sonu
Je suis tombé sur cette même chose. J'ai trouvé, j'ai dû ajouter un fs.defaultFS propriété hdfs-site.xml pour correspondre à la fs.defaultFS propriété dans core-site.xml:
Une fois que j'ai ajouté à cela, la secondary namenode commencé OK.
OriginalL'auteur Nik Bates-Haus
Assurez-vous que vous avez réglé la HADOOP_PREFIX variable correctement comme indiqué dans le lien:
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html
Même j'ai été confronté au même problème que le vôtre et c'est rectifiée par la définition de cette variable
OriginalL'auteur Vishwanath S
Peut-être que vous avait donné une mauvaise syntaxe de dfs.datanode.les données.dir
ou dfs.namenode.les données.dir en hdfs-site.xml. Si vous manquez /dans la valeur que vous obtiendrez cette erreur.
Vérifiez la syntaxe de
file:///home/hadoop/hdfs/
OriginalL'auteur pavanpenjandra