Mysql
 sql >> Database >  >> RDS >> Mysql

Eccezione nel thread principale java.lang.IncompatibleClassChangeError:trovata l'interfaccia org.apache.hadoop.mapreduce.JobContext, ma era prevista la classe?

Sqoop e Sqoop2 hanno distribuzioni binarie che differiscono in base alla versione di Hadoop. Questo tipo di errore può essere visto in Sqoop2 se è compilato con la versione sbagliata di Hadoop o se le librerie hadoop sbagliate sono sul tuo sistema. Cose da provare per risolvere questo problema:

  1. Cerca vecchi jar hadoop che potrebbero essere inseriti nel percorso di classe. find / -name 'hadoop*.jar' dovrebbe funzionare.
  2. Assicurati di aver scaricato una distrubtion binaria di Sqoop. Se stai usando Hadoop2, scarica Sqoop2 per Hadoop2. Se stai usando Hadoop1, scarica Sqoop2 per Hadoop1.
  3. Imposta in modo esplicito il percorso di classe tramite le proprietà di Tomcat in <server configuration directory>/catalina.properties . I jar possono essere aggiunti esplicitamente a common.loader .
  4. Se tutto il resto fallisce, contatta la lista di distribuzione Sqoop .