Réglage externe des pots de hadoop classpath

Je suis en train de mettre externes pots à hadoop classpath mais pas de chance jusqu'à présent.

J'ai la configuration suivante

$ version hadoop
Hadoop 2.0.6-alpha
Subversion https://git-wip-us.apache.org/repos/asf/bigtop.git -r ca4c88898f95aaab3fd85b5e9c194ffd647c2109
Compilé par jenkins sur 2013-10-31T07:55Z
À partir de la source avec la somme de contrôle 95e88b2a9589fa69d6d5c1dbd48d4e
Cette commande a été exécutée à l'aide de /usr/lib/hadoop/hadoop-common-2.0.6-alpha.jar

Classpath

$ echo $HADOOP_CLASSPATH
/home/tom/workspace/libs/opencsv-2.3.jar

Je suis capable de voir au-dessus de la HADOOP_CLASSPATH a été ramassé par hadoop

$ hadoop classpath
/etc/hadoop/conf:/usr/lib/hadoop/lib/:/usr/lib/hadoop/.//:/home/tom/workspace/libs/opencsv-2.3.jar:/usr/lib/hadoop-hdfs/./:/usr/lib/hadoop-hdfs/lib/:/usr/lib/hadoop-hdfs/.//:/usr/lib/hadoop-yarn/lib/:/usr/lib/hadoop-yarn/.//:/usr/lib/hadoop-mapreduce/lib/:/usr/lib/hadoop-mapreduce/.//

Commande

$ sudo hadoop pot FlightsByCarrier.jar FlightsByCarrier /utilisateur/root/1987.csv /utilisateur/root/résultat

J'ai essayé avec -libjars option

$ sudo hadoop pot FlightsByCarrier.jar FlightsByCarrier /utilisateur/root/1987.csv /utilisateur/root/résultat -libjars /home/tom/workspace/libs/opencsv-2.3.jar

La stacktrace

14/11/04 16:43:23 INFO mapreduce.Travail: travail en cours d'Exécution: job_1415115532989_0001
14/11/04 16:43:55 INFO mapreduce.D'emploi: Emploi job_1415115532989_0001 cours d'exécution dans uber mode : false
14/11/04 16:43:56 INFO mapreduce.Emploi: carte 0% réduire à 0%
14/11/04 16:45:27 INFO mapreduce.Emploi: la carte de 50% de réduire à 0%
14/11/04 16:45:27 INFO mapreduce.Emploi: l'Id de la Tâche : attempt_1415115532989_0001_m_000001_0, Statut : ÉCHEC de la
Erreur: java.lang.ClassNotFoundException: au.com.bytecode.opencsv.CSVParser
à java.net.URLClassLoader$1.exécuter(URLClassLoader.java:366)
à java.net.URLClassLoader$1.exécuter(URLClassLoader.java:355)
à java.de sécurité.AccessController.doPrivileged(Native method)
à java.net.URLClassLoader.findClass(URLClassLoader.java:354)
à java.lang.Chargeur de classe.loadClass(ClassLoader.java:425)
au coucher du soleil.misc.Lanceur$AppClassLoader.loadClass(Lanceur.java:308)
à java.lang.Chargeur de classe.loadClass(ClassLoader.java:358)
au FlightsByCarrierMapper.carte(FlightsByCarrierMapper.java:19)
au FlightsByCarrierMapper.carte(FlightsByCarrierMapper.java:10)
au org.apache.hadoop.mapreduce.Mappeur.exécuter(Mappeur.java:144)
au org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:757)
au org.apache.hadoop.mapred.MapTask.exécuter(MapTask.java:339)
au org.apache.hadoop.mapred.YarnChild$2.exécuter(YarnChild.java:158)
à java.de sécurité.AccessController.doPrivileged(Native method)
au javax.de sécurité.auth.Sujet.doAs(sous réserve.java:415)
au org.apache.hadoop.de sécurité.UserGroupInformation.doAs(UserGroupInformation.java:1478)
au org.apache.hadoop.mapred.YarnChild.principale(YarnChild.java:153)

Toute aide est très appréciée.

Essayez ceci : sudo hadoop jar FlightsByCarrier.jar FlightsByCarrier -libjars /home/tom/workspace/libs/opencsv-2.3.jar /user/root/1987.csv /utilisateur/root/résultat
Vérifier ma réponse ici, je l'ai expliqué toutes les options disponibles pour résoudre ce problème ici: stackoverflow.com/a/36227260/1766402
J'ai utilisé ceci: stackoverflow.com/a/54459211/529442

OriginalL'auteur mnm | 2014-11-05