Ich habe meinen Cluster kürzlich von Apache Hadoop1.0 auf CDH4.4.0 aktualisiert. Ich habe einen Weblogic-Server in einer anderen Maschine, von wo aus ich Jobs über mapreduce-Client an diesen Remote-Cluster übergebe. Ich möchte immer noch MR1 und nicht Yarn verwenden. Ich habe meinen Client-Code gegen die Client-Jars in der CDH-Installation (/ usr / lib / hadoop / client / *)
kompiliertErhalte den folgenden Fehler beim Erstellen einer JobClient-Instanz. Es gibt viele Beiträge, die sich auf dasselbe Problem beziehen, aber alle Lösungen beziehen sich auf das Szenario, in dem der Job an einen lokalen Cluster gesendet wird und nicht an Remote und speziell in meinem Fall von einem wls-Container .
JobClient jc = new JobClient(conf);
Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
Aber das Ausführen von der Eingabeaufforderung auf dem Cluster funktioniert einwandfrei.
Schätzen Sie Ihre rechtzeitige Hilfe!
Es ist wahrscheinlich, dass Ihre App Ihre alten Hadoop 1.x-Konfigurationsdateien überprüft. Vielleicht codiert deine App eine Config? Dieser Fehler deutet darauf hin, dass Sie die neuen Clientbibliotheken verwenden, aber keine neue Konfiguration sehen.
Es muss existieren, da die Befehlszeilentools sie gut sehen. Überprüfen Sie auch Ihre HADOOP_HOME
- oder HADOOP_CONF_DIR
env-Variablen, obwohl die Befehlszeilenwerkzeuge dazu neigen, diese zu übernehmen, und sie funktionieren.
Beachten Sie, dass Sie in CDH 4.4 den Dienst 'mapreduce' und nicht 'yarn' installieren müssen, um ihn mit MR1-Clients kompatibel zu machen. Siehe auch die '...- mr1 -...' Artefakte in Maven.
Ich hatte einen ähnlichen Fehler und fügte die folgenden Gläser zu Classpath hinzu und es funktionierte für mich:
hadoop-mapreduce-client-jobclient-2.2.0.2.0.6.0-76:hadoop-mapreduce-client-shuffle-2.3.0.jar:hadoop-mapreduce-client-common-2.3.0.jar
Ich mein Fall, dass ich sqoop 1.4.5 laufen ließ und es auf das späteste hadoop 2.0.0-cdh4.4.0 zeigte, das das Garnmaterial auch deshalb hatte, war es sich beschweren.
Als ich auf Hadoop-0.20 / 2.0.0-cdh4.4.0 (MR1, glaube ich) gedeutet habe, funktionierte es.
In meinem Fall war dieser Fehler komischerweise, weil ich in meiner 'core-site.xml' Datei "IP-Adresse" und nicht "Hostname" erwähnt habe. In dem Moment, in dem ich "hostname" anstelle der IP-Adresse und in "core-site.xml" und "mapred.xml" erwähnte und mapreduce lib-Dateien erneut installierte, wurde der Fehler behoben.