Mysql
 sql >> Base de données >  >> RDS >> Mysql

Exception dans le thread principal java.lang.IncompatibleClassChangeError :interface trouvée org.apache.hadoop.mapreduce.JobContext, mais la classe était attendue ?

Sqoop et Sqoop2 ont des distributions binaires qui diffèrent selon la version de Hadoop. Ce type d'erreur peut être vu dans Sqoop2 s'il est compilé avec la mauvaise version de Hadoop ou si les mauvaises bibliothèques hadoop se trouvent sur votre système. Choses à essayer pour résoudre ce problème :

  1. Recherchez d'anciens jars hadoop susceptibles de figurer dans le chemin de classe. find / -name 'hadoop*.jar' devrait fonctionner.
  2. Assurez-vous d'avoir téléchargé une distribution binaire de Sqoop. Si vous utilisez Hadoop2, téléchargez Sqoop2 pour Hadoop2. Si vous utilisez Hadoop1, téléchargez Sqoop2 pour Hadoop1.
  3. Définissez explicitement le chemin de classe via les propriétés tomcat dans <server configuration directory>/catalina.properties . Les jars peuvent être explicitement ajoutés à common.loader .
  4. Si tout le reste échoue, contactez la liste de diffusion Sqoop .