web-dev-qa-db-fra.com

JAR non valide lors de l'exécution de l'exemple HADOOP

J'ai installé hadoop-2.4.0 dans ma 14.04 LTS,

J'ai suivi ce lien , j'ai réussi à démarrer et à arrêter les services avec succès,

mais quand j'ai essayé d'exécuter l'exemple,

$ /bin/hadoop jar hadoop*examples*.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output

et je reçois une réponse en tant que,

Not a valid JAR: /hadoop*examples*.jar

EDIT 1

J'ai installé Java 7 (c'est-à-dire JDK 1.7) et lorsque j'ai utilisé Hadoop-1.0.3, cela fonctionne bien.

Problème lié à la tentative d'exécution avec Hadoop-2.4.0.


NOTE

De ce tutoriel mon système diffère de ce qui suit,

  1. J'utilise Java 7 au lieu de Java 6.
  2. J'utilise Hadoop 2.4.0 au lieu de Hadoop-1.0.3
  3. Je suis en train d'utiliser Ubuntu 14.04 au lieu d'Ubuntu 10.04.

Et je peux exécuter avec succès HAdoop-1.0.3 avec Java 7 le 14.04.

Ma question pourquoi je ne peux pas exécuter la même chose pour Hadoop-2.4.0.

2
A J

Je suivais également le même tutoriel et je rencontrais le même problème avec ma dernière installation (hadoop 2.7.1). Je devais le changer de

$ /bin/hadoop jar hadoop*examples*.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output

à

$ /bin/hadoop jar ./share/hadoop/mapreduce/hadoop-*-examples*.jar  wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output
1
maicalal

J'ai eu le même problème. Voici la solution.

OS - Ubuntu 14.04 64 bits
Java - OpenJDK 7
Hadoop - Hadoop 2.4.1

Étape 1: créez un répertoire hdfs pour l'entrée: hadoop dfs -mkdir -p /usr/local/hadoop/input

Étape 2: collez maintenant le fichier jar dans ce dossier à l’aide de la commande hadoop.

hadoop dfs -copyFromLocal /home/hduser/Desktop/sample.txt /usr/local/hadoop/input

Étape 3: Accédez au dossier $ HADOOP_HOME/share/hadoop/mapreduce du terminal.

cd $HADOOP_HOME/share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /usr/local/hadoop/input/sample.txt /usr/local/hadoop/output

Ici, le dossier/usr/local/hadoop/output sera créé. Chaque fois, vous devez donner un nouveau nom.
NOTE: vous ne pouvez pas simplement lister les dossiers entrés et sortis en utilisant ls dans le terminal.

Étape 4: Pour afficher le résultat, utilisez ceci:

hadoop dfs -cat /usr/local/hadoop/output/part-r-00000

1
kishorer747

Ce tutoriel a été testé avec les versions de logiciel suivantes:

Ubuntu Linux 10.04 LTS (obsolète: 8.10 LTS, 8.04, 7.10, 7.04)

Il n'a pas été mis à jour depuis le 10.04 ~ 2012. C'est-à-dire (je suppose que votre problème existe).

14.04 et 10.04 fonctionnent assez différemment ...

Sun Java 6

Sun Java n’est plus disponible sous Ubunt , c’est aussi probablement la raison pour laquelle cela ne fonctionne pas.

0
Tim