J'ai hadoop-2.2.0 dans mon PC et j'ai écrit un programme sous cette version. Et maintenant j'ai besoin de le tester dans un gros cluster, mais dans le hadoop de la machine de cluster est hadoop-1.2.1. Lorsque je tente de lancer mon programm là-dessus, il y a une erreur:Le programme hadoop qui écrit sous hadoop-2.2.0 peut-il fonctionner avec hadoop-1.2.1?
java.lang.NoSuchMethodError: org/apache/Hadoop/util/ProgramDriver.run ([Ljava/lang/String;) Je org .apache.hadoop.examples.ExampleDriver.main (ExampleDriver.java:74) à sun.reflect.NativeMethodAccessorImpl.invoke0 (Méthode natif) à sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:94) au soleil. refléter.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:55) à java.lang.reflect.Method.invoke (Method.java:619) à org.apache.hadoop.util.RunJar.main (RunJar.java:160)
Je ai googlé et il semble que le problème de la version. Alors n'est-il pas possible d'exécuter le programme écrit dans la nouvelle version de hadoop sur l'ancienne version de hadoop? Merci d'avance!
Indice: Développez toujours en utilisant la même version de Hadoop que votre cluster cible. Cela vous épargnera énormément de douleur. – climbage
Oui, vous avez raison! La prochaine fois peut-être que je devrais d'abord parler au gestionnaire de cluster et ensuite faire le même environnement. Merci pour votre tipp! – user2991640