2014-07-18 4 views
0

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!

+1

Indice: Développez toujours en utilisant la même version de Hadoop que votre cluster cible. Cela vous épargnera énormément de douleur. – climbage

+0

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

Répondre

1

Cela dépend de votre programme Map Reduce et des classes qu'il utilise (mon instinct est que ça ne marche pas). Hadoop-1.x.x à 2.x.x est un changement de version majeur, il y aura donc des changements majeurs dans les classes et les bibliothèques que vous utilisez dans votre programme. Cela dit, je vous encourage à vérifier les notes de version pour la version.

+0

:(cela signifie que le paquet doit être utilisé mon programme est disponible dans hadoop-1.2.1, alors il fonctionnera bien dans cette ancienne version? – user2991640

+0

Cela dépend de ce que vous essayez d'accomplir dans votre code. l'utilisation peut dépendre d'autres paquets qui pourraient aussi avoir changé avec la version, mais vous pouvez essayer. –

Questions connexes