cdh4 hadoop-hbase PriviledgedActionException:hdfs (auth:SIMPLE) cause:java.io.FileNotFoundException
J'ai installé cloudera cdh4 de presse Et je suis en train de lancer le travail de mapreduce. Je suis d'erreur suivant -->
2012-07-09 15:41:16 ZooKeeperSaslClient [INFO] Client will not SASL-authenticate because the default JAAS configuration section 'Client' could not be found. If you are not using SASL, you may ignore this. On the other hand, if you expected SASL to work, please fix your JAAS configuration.
2012-07-09 15:41:16 ClientCnxn [INFO] Socket connection established to Cloudera/192.168.0.102:2181, initiating session
2012-07-09 15:41:16 RecoverableZooKeeper [WARN] Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/master
2012-07-09 15:41:16 RetryCounter [INFO] The 1 times to retry after sleeping 2000 ms
2012-07-09 15:41:16 ClientCnxn [INFO] Session establishment complete on server Cloudera/192.168.0.102:2181, sessionid = 0x1386b0b44da000b, negotiated timeout = 60000
2012-07-09 15:41:18 TableOutputFormat [INFO] Created table instance for exact_custodian
2012-07-09 15:41:18 NativeCodeLoader [WARN] Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2012-07-09 15:41:18 JobSubmitter [WARN] Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
2012-07-09 15:41:18 JobSubmitter [INFO] Cleaning up the staging area file:/tmp/hadoop-hdfs/mapred/staging/hdfs48876562/.staging/job_local_0001
2012-07-09 15:41:18 UserGroupInformation [ERROR] PriviledgedActionException as:hdfs (auth:SIMPLE) cause:java.io.FileNotFoundException: File does not exist: /home/cloudera/yogesh/lib/hbase.jar
Exception in thread "main" java.io.FileNotFoundException: File does not exist: /home/cloudera/yogesh/lib/hbase.jar
at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:736)
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:208)
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.determineTimestamps(ClientDistributedCacheManager.java:71)
at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:246)
at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:284)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:355)
at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1226)
at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1223)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1232)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1223)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1244)
at
Je suis en mesure d'exécuter les exemples de programmes dans hadoop-mapreduce-examples-2.0.0-cdh4.0.0.jar.
Mais j'obtiens cette erreur quand mon travail est soumis avec succès à jobtracker . Regarde comme il est d'essayer d'accès au système de fichiers local à nouveau (Bien que j'ai mis toutes les bibliothèques requises pour l'exécution des travaux dans le cache distribué encore sa tentative d'accès local dir). Est-ce les questions relatives à l'utilisateur des privilèges ?
I)
Cloudera:~ # hadoop fs -ls hdfs://<MyClusterIP>:8020/
montre -
Found 8 items
drwxr-xr-x - hbase hbase 0 2012-07-04 17:58 hdfs://<MyClusterIP>:8020/hbase<br/>
drwxr-xr-x - hdfs supergroup 0 2012-07-05 16:21 hdfs://<MyClusterIP>:8020/input<br/>
drwxr-xr-x - hdfs supergroup 0 2012-07-05 16:21 hdfs://<MyClusterIP>:8020/output<br/>
drwxr-xr-x - hdfs supergroup 0 2012-07-06 16:03 hdfs:/<MyClusterIP>:8020/tools-lib<br/>
drwxr-xr-x - hdfs supergroup 0 2012-06-26 14:02 hdfs://<MyClusterIP>:8020/test<br/>
drwxrwxrwt - hdfs supergroup 0 2012-06-12 16:13 hdfs://<MyClusterIP>:8020/tmp<br/>
drwxr-xr-x - hdfs supergroup 0 2012-07-06 15:58 hdfs://<MyClusterIP>:8020/user<br/>
II)
--- Aucun Résultat pour la suite ----
hdfs@Cloudera:/etc/hadoop/conf> find . -name '**' | xargs grep "default.name"<br/>
hdfs@Cloudera:/etc/hbase/conf> find . -name '**' | xargs grep "default.name"<br/>
Au lieu de cela je pense qu'avec la nouvelle API pour nous utilisez ->
fs.defaultFS --> hdfs://Cloudera:8020 que j'ai correctement
Bien que pour "fs.par défaut.le nom de" j'ai des entrées pour le cluster hadoop 0.20.2 (non-cloudera cluster)
cass-hadoop@Pratapgad:~/hadoop/conf> find . -name '**' | xargs grep "default.name"<br/>
./core-default.xml: <name>fs.default.name</name><br/>
./core-site.xml: <name>fs.default.name</name><br/>
Je pense que cdh4 configuration par défaut devrait ajouter cette entrée dans le répertoire respectif. (Si sa bug).
La commande, je suis avec mon progrmme -
hdfs@Cloudera:/home/cloudera/yogesh/lib> java -classpath hbase-tools.jar:hbase.jar:slf4j-log4j12-1.6.1.jar:slf4j-api-1.6.1.jar:protobuf-java-2.4.0a.jar:hadoop-common-2.0.0-cdh4.0.0.jar:hadoop-hdfs-2.0.0-cdh4.0.0.jar:hadoop-mapreduce-client-common-2.0.0-cdh4.0.0.jar:hadoop-mapreduce-client-core-2.0.0-cdh4.0.0.jar:log4j-1.2.16.jar:commons-logging-1.0.4.jar:commons-lang-2.5.jar:commons-lang3-3.1.jar:commons-cli-1.2.jar:commons-configuration-1.6.jar:guava-11.0.2.jar:google-collect-1.0-rc2.jar:google-collect-1.0-rc1.jar:hadoop-auth-2.0.0-cdh4.0.0.jar:hadoop-auth.jar:jackson.jar:avro-1.5.4.jar:hadoop-yarn-common-2.0.0-cdh4.0.0.jar:hadoop-yarn-api-2.0.0-cdh4.0.0.jar:hadoop-yarn-server-common-2.0.0-cdh4.0.0.jar:commons-httpclient-3.0.1.jar:commons-io-1.4.jar:zookeeper-3.3.2.jar:jdom.jar:joda-time-1.5.2.jar com.hbase.xyz.MyClassName
Salut Chris, Merci pour la réponse j'ai mis à jour la question, veuillez voir ci-dessus.
job_local_0001 moyens mapred-site.xml n'est pas définie correctement.Et devrait être utilisé lors de l'utilisation de la Nouvelle Configuration(). ensemble là. hbase.apache.org/book.html#trouble.mapreduce.local
vous devez fournir cela comme une réponse à la question, que c'était la clé importante que déverrouillé le problème pour moi. Une fois que j'ai mis mapred-site.xml comme décrit (un peu mal et de manière incomplète) par Ramy ci-dessous, le problème a été résolu.
OriginalL'auteur Yogesh | 2012-07-06
Vous devez vous connecter pour publier un commentaire.
Debug procédure: Essayez d'exécuter de simples Hadoop des commandes shell.
Si cela montre le HDFS fichiers, votre configuration est correcte. Si non, alors la configuration est manquant. Lorsque cela se produit hadoop commande shell comme
-ls
va se référer à système de fichiers local et pas Hadoop système de fichiers.Ce qui se passe si Hadoop est démarré à l'aide de CMS (Cloudera manager). Il n'est pas explicitement les magasins de la configuration dans
conf
répertoire.Vérifier si hadoop système de fichiers est affichée par la commande suivante (changement de port):
Si elle affiche des système de fichiers local lorsque vous soumettez le chemin que
/
vous devez ensuite définir les fichiers de configurationhdfs-site.xml
etmapred-site.xml
dans le répertoire de configuration. Aussihdfs-site.xml
devrait avoir l'entrée pourfs.default.name
pointant vershdfs://host:port/
. Dans mon cas, le répertoire est/etc/hadoop/conf
.Voir: http://hadoop.apache.org/common/docs/r0.20.2/core-default.html
Voir si cela résout votre problème.
C'est ainsi que je suis entrain de créer un objet de configuration. La Configuration. conf = new Configuration(false); conf.addResource(nouveau Chemin(ConfigReader.HBASE_ROOT_DIRECTORY + "/conf/core-site.xml")); conf.addResource(nouveau Chemin(ConfigReader.HBASE_ROOT_DIRECTORY + "/conf/hdfs-site.xml")); conf.addResource(nouveau Chemin(ConfigReader.HADOOP_ROOT_DIRECTORY + "/conf/core-site.xml")); conf.addResource(nouveau Chemin(ConfigReader.HADOOP_ROOT_DIRECTORY + "/conf/hdfs-site.xml")); conf.addResource(nouveau Chemin(ConfigReader.HBASE_ROOT_DIRECTORY + "/conf/hbase-site.xml")); <br/>Est-ce une bonne approche ?<br/>
Je pense que mappred paramètres(mapred-site.xml fichier est manquant ) ne sont pas définies correctement . c'est pourquoi, par défaut, son en essayant d'exécuter le travail localement . soit nous avons besoin de configurer Fil ou de la nécessité de définir la configuration correctement de sorte que mrf1 travaux seront exécutés sur jobtracker
hbase.apache.org/book.html#trouble.mapreduce.local
OriginalL'auteur pyfunc
OriginalL'auteur subZero