Ich versuche Hadoop in Ubuntu 12.04 zu installieren. Den Anweisungen von http://michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/ folgend
, installierte ich java-6-openjdk
vom Ubuntu Software-Center. Ich habe festgelegt java_home
in .bashrc
. Auch java_home
in Hadoop eingestellt conf/env.sh
. Beim Formatieren des Namensknotens wird folgende Fehlermeldung angezeigt:
usr/lib/jvm/java-6-openjdk/bin/java no such file or directory.
Vielen Dank. Aber es ist ein 64-Bit-Betriebssystem.
Antworten:
Die Führer, denen ich folgte, als ich 12.04 hatte, waren:
Eigentlich war ich gegen MyLearning, weil das erste, was es empfahl, Oracle Java 7 anstelle von OpenJDK 7 war, aber ich hatte einige Probleme mit OpenJDK 7, als ich dies ausprobierte, also musste ich mich für Oracle entscheiden.
Der Leitfaden ist größtenteils unkompliziert und hier ist es:
Installieren Sie Java
Erstellen Sie einen Hadoop-Benutzer
Wobei hduser der Hadoop-Benutzer ist, den Sie haben möchten.
SSH konfigurieren
Um sicherzustellen, dass die SSH-Installation erfolgreich war, können Sie ein neues Terminal öffnen und versuchen, mit
hduser
dem folgenden Befehl eine SSH-Sitzung zu erstellen :Installieren Sie ssh neu, wenn localhost keine Verbindung herstellt. (Möglicherweise müssen Sie
hduser
sudo wie unten beschrieben hinzufügen. )Sudoer bearbeiten
Fügen Sie am Ende die Zeile hinzu, um hduser zu sudoers hinzuzufügen
Zum Speichern drücken Sie CTRL+ X, geben Sie ein Yund drücken SieENTER
Deaktivieren Sie IPv6
oder
Kopieren Sie die folgenden Zeilen am Ende der Datei:
Wenn Sie auf ein Problem stoßen, das Ihnen mitteilt, dass Sie keine Berechtigungen haben, führen Sie einfach den vorherigen Befehl mit dem Root-Konto aus (Falls sudo nicht ausreicht. Für mich war es das)
Jetzt neu starten.
Sie können auch tun,
sudo sysctl -p
aber ich starte lieber neu.Stellen Sie nach dem Neustart sicher, dass IPv6 deaktiviert ist:
es sollte heißen 1 . Wenn 0 angezeigt wird , haben Sie etwas verpasst.
Hadoop installieren
Es gibt verschiedene Möglichkeiten, dies zu tun. Der Leitfaden schlägt vor, die Datei von der Apache Hadoop-Site herunterzuladen und sie in Ihrem Basisordner zu dekomprimieren
hduser
. Benennen Sie den extrahierten Ordner in umhadoop
.Die andere Möglichkeit ist die Verwendung einer PPA, die für 12.04 getestet wurde:
HINWEIS: Die PPA funktioniert möglicherweise für einige und für andere nicht. Das, was ich versuchte, war, von der offiziellen Seite herunterzuladen, weil ich nichts über das PPA wusste.
Aktualisieren
$HOME/.bashrc
Sie müssen das Update
.bashrc
fürhduser
(und für jeden Benutzer , den Sie brauchen , um zu verwalten Hadoop). Um eine.bashrc
Datei zu öffnen , müssen Sie sie als root öffnen:oder
Anschließend fügen Sie am Ende der
.bashrc
Datei die folgenden Konfigurationen hinzuWenn Sie OpenJDK7 haben, würde es ungefähr so aussehen:
Hier ist der Ordner zu beachten, in dem sich Java mit der AMD64-Version befindet. Wenn das oben genannte nicht funktioniert, können Sie versuchen, in diesem bestimmten Ordner nachzuschauen oder das Java einzustellen, das verwendet wird mit:
Nun zu einem hilfreichen Alias:
Hadoop konfigurieren
Die folgenden Konfigurationsdateien können für die ordnungsgemäße Konfiguration verwendet werden. Einige der Dateien werden Sie mit Hadoop verwenden sind (Weitere Informationen in dieser Seite ):
start-dfs.sh
- Startet die Hadoop-DFS-Dämonen, den Namens- und den Datenknoten. Verwenden Sie dies vor start-mapred.shstop-dfs.sh
- Stoppt die Hadoop DFS-Daemons.start-mapred.sh
- Startet die Hadoop Map / Reduce-Daemons, den Jobtracker und die Tasktracker.stop-mapred.sh
- Stoppt die Hadoop Map / Reduce Daemons.start-all.sh
- Startet alle Hadoop-Daemons, den Namensknoten, die Datenknoten, den Jobtracker und den Tasktracker. Veraltet; benutze start-dfs.sh und dann start-mapred.shstop-all.sh
- Stoppt alle Hadoop-Dämonen. Veraltet; benutze stop-mapred.sh und dann stop-dfs.shBevor wir sie verwenden, müssen wir jedoch mehrere Dateien im
/conf
Ordner ändern .hadoop-env.sh
Suchen Sie nach der Datei
hadoop-env.sh
, wir müssen nur die Variable JAVA_HOME in dieser Datei aktualisieren:oder
oder in den neuesten Versionen wird es in sein
oder
Ändern Sie dann die folgende Zeile:
Zu
Hinweis: Wenn
Error: JAVA_HOME is not set
beim Starten der Dienste ein Fehler auftritt, haben Sie vergessen, die vorherige Zeile aus dem Kommentar zu entfernen (entfernen Sie einfach #).core-site.xml
Jetzt müssen wir ein temporäres Verzeichnis für das Hadoop-Framework erstellen. Wenn Sie diese Umgebung zum Testen oder für einen schnellen Prototyp benötigen (z. B. einfache Hadoop-Programme für Ihren persönlichen Test entwickeln ...), empfehle ich, diesen Ordner im
/home/hduser/
Verzeichnis zu erstellen. Andernfalls sollten Sie diesen Ordner an einem gemeinsam genutzten Ort im gemeinsamen Ordner erstellen ( wie / usr / local ...), aber Sie könnten auf Sicherheitsprobleme stoßen. Aber um die Ausnahmen zu überwinden, die durch die Sicherheit verursacht werden können (wie z. B. java.io.IOException), habe ich den Ordner tmp unter hduser erstellt.Geben Sie den folgenden Befehl ein, um diesen Ordner zu erstellen:
Bitte beachten Sie, dass Sie, wenn Sie einen anderen Administratorbenutzer (z. B. hduser2 in hadoop group) erstellen möchten, ihm mit den folgenden Befehlen Lese- und Schreibberechtigungen für diesen Ordner erteilen sollten:
Jetzt können wir
hadoop/conf/core-site.xml
den Eintrag hadoop.tmp.dir bearbeiten. Wir können die Datei core-site.xml mit dem Texteditor öffnen:oder
Fügen Sie dann die folgenden Konfigurationen zwischen
<configure>
XML-Elementen hinzu :Bearbeiten Sie jetzt
mapred-site.xml
Bearbeiten Sie jetzt
hdfs-site.xml
Formatieren von NameNode
Jetzt können Sie mit der Arbeit am Knoten beginnen. Erstes Format:
oder
Sie sollten den NameNode in Ihrem HDFS formatieren. Sie sollten diesen Schritt nicht ausführen, wenn das System ausgeführt wird. Dies geschieht normalerweise einmalig bei der Erstinstallation.
Starten von Hadoop Cluster
Sie müssen zum Verzeichnis hadoop / bin navigieren und das
./start-all.sh
Skript ausführen .Wenn Sie eine andere Version als die in den Handbüchern gezeigte haben (die Sie höchstwahrscheinlich haben werden, wenn Sie dies mit dem PPA oder einer neueren Version tun), versuchen Sie es wie folgt:
Hiermit starten Sie einen Namenode, Datanode, Jobtracker und einen Tasktracker auf Ihrem Rechner.
Überprüfen Sie, ob Hadoop ausgeführt wird
Es gibt ein schönes Tool namens
jps
. Sie können damit sicherstellen, dass alle Dienste verfügbar sind. In Ihrem Hadoop Bin-Ordnertyp:Es sollte Ihnen alle Hadoop-bezogenen Prozesse zeigen.
HINWEIS: Da dies vor ungefähr 6 Monaten für mich durchgeführt wurde, lassen Sie es mich wissen, wenn ein Teil nicht funktioniert.
Hadoop Using Juju (Ein Juju-Zauber für Hadoop)
Entnommen aus Charming Hadoop
Ich gehe mal davon aus, dass folgendes schon eingerichtet ist:
~/.juju/environments.yaml
die Informationen zu dem Server konfiguriert, den Sie verwenden, einschließlich des PPA-Ursprungs.Befolgen Sie nun die folgenden Schritte, um einen Hadoop-Dienst auszuführen:
Bootstrap der Umgebung für Hadoop
Warten Sie, bis der Vorgang abgeschlossen ist, und überprüfen Sie dann, ob die Verbindung ordnungsgemäß hergestellt wurde:
Bereitstellen von Hadoop (Master und Slave)
Beziehungen erstellen
Hadoop verfügbar machen (Da Sie bereits Relationen bereitgestellt und erstellt haben, sollte der Dienst ausgeführt werden.)
Überprüfen Sie den Status, um festzustellen, ob er ordnungsgemäß funktioniert:
Bisher hast du ein laufendes Hadoop. Es gibt viele weitere Dinge, die Sie tun können, die Sie über den angegebenen Link oder im offiziellen Juju Charm für Hadoop finden
Aktuelle JuJu Charms (Setups, Schritt-für-Schritt-Anleitungen und mehr) finden Sie unter: JuJu Charms. Erstellen Sie Ihre eigene JuJu-Umgebung und sehen Sie, wie jede Datei eingerichtet ist und wie die einzelnen Dienste verbunden werden.
quelle
hduser (ALL)=(ALL:ALL) ALL
wirft Syntaxfehler ...hduser ALL=(ALL:ALL) ALL
, entfernen Sie das erste Paar Klammern.bachrc
- warten Sie, bis Johann Sebastian das hört. Oh warte, er kann nicht ... weil er taub ist. :-DIch habe Hadoop erfolgreich installiert, indem ich den Pfad von
JAVA_HOME
as festgelegt habeusr/lib/jvm/java-6-openjdk-amd64
.quelle
Abgeleitet von der Antwort von @Luis Alvarado ist hier meine Version für Ubuntu 14.04 und Hadoop 2.5.1
In Kürze
hduser
hduser
von nun an zuhduser
Remote-Zugriff über ssh mit passphrasenlos zulassenGetan. Viel Glück!
Detailschritte
Installieren Sie Java
Herunterladen und installieren
Stellen Sie sicher, dass Java7 installiert ist
Wir hätten darauf
java
hinweisen sollen/usr/lib/jvm/java-7-oracle/jre/bin/java
Bereiten Sie einen Executive User für Hadoop vor
hduser
Benutzer
hduser
in Gruppe erstellenhadoop
Gewähren Sie
hduser
das sudo- PrivilegBearbeiten Sie sudo
Fügen Sie am Ende diese Zeile hinzu
Wechseln Sie
hduser
von nun an zuhduser
Remote-Zugriff über ssh mit passphrasenlos zulassenInstallieren Sie openssh
Generieren Sie einen öffentlichen / privaten RSA-Schlüssel für die SSH-Verbindung. Passphrase ist leer als
parameter -P ""
Stellen Sie sicher, dass
hduser
ssh remote lokal ohne Passwort ausgeführt werden kannDeaktivieren Sie IPv6
Bearbeiten Sie die Konfigurationsdatei
Kopieren Sie bis zum Ende
Stellen Sie sicher, dass IPv6 durch einen Neustart oder Aufruf ausgeschaltet ist
Dann ruf an
Es sollte 1 heißen, was OK bedeutet ^^
Laden Sie das Hadoop-Paket herunter und konfigurieren Sie es
Laden Sie Hadoop 2.5.1-Pakete von der Apache Hadoop-Site herunter
Die direkte URL für dieses Paket ist dieser Link
Laden Sie sie in
hduser
den Home-Ordner von Microsoft herunter , extrahieren Sie sie und benennen Sie sie in umhadoop
Stellen Sie sicher, dass wir Hadoop zu
hduser
Hause aufbewahrenBereiten Sie den Systempfad $ HADOOP_HOME und $ JAVA_HOME vor
Bearbeiten Sie
hduser
die .bashrc-Datei vonSetzen Sie die Endwerte für
$HADOOP_HOME
und auf$JAVA_HOME
Fügen Sie dem
binary
System die Hadoop- Ordner hinzu$PATH
Öffnen Sie ein neues Terminal, melden Sie sich als
hduser
an und stellen Sie sicher, dass Sie $ HADOOP_HOME mit verfügbaren Befehlen habenWir sollten den vollständigen Pfad dieser Namen sehen.
Konfigurieren Sie die Dienste von Hadoop
Jede Komponente in Hadoop wird mithilfe einer XML-Datei konfiguriert.
Allgemeine Eigenschaften finden Sie in core-site.xml
HDFS-Eigenschaften werden in hdfs-site.xml gespeichert
MapReduce-Eigenschaften werden in mapred-site.xml abgelegt
Diese Dateien befinden sich alle im Ordner $ HADOOP_HOME / etc / hadoop
Definieren Sie erneut JAVA_HOME,
hadoop-env.sh
indem Sie die Zeile bearbeitenDefinieren Sie Hadoop
temp folder
und denfile system
Namen in der Datei core-site.xml unterWir müssen dies
temp folder
wie unter konfiguriert vorbereiten/home/hduser/tmp
Definiere
file system
'sblock replication
in hdfs-site.xmlDefinieren Sie
map-reduce job
in mapred-site.xmlFormat
name node
Starten Sie den Hadoop-Dienst
Anruf
Diese beiden Befehle befinden sich in $ HADOOP_HOME / sbin, das wir zuvor dem System $ PATH hinzugefügt haben.
Stellen Sie sicher, dass die Hadoop-Dienste ordnungsgemäß gestartet wurden
wir sollten sehen
quelle
mapred-site.xml
existiert am Anfang nicht. Es sollte erstellt werden voncp mapred-site.xml.template mapred-site.xml
Um
sun-java
mit demapt-get
Befehl installieren zu können , müssen Sie einer aufgerufenen Datei eine Zeile hinzufügensources.list
. Diese Datei finden Sie in/etc/apt/sources.list
.Öffnen Sie die Datei mit diesem Befehl:
Dann kopieren Sie ganz am Ende (unten) dieser Datei die folgende Zeile:
Drücken Sie nun Ctrl+ Xzum Verlassen und yzum Speichern.
Geben Sie nun den Befehl ein:
Und wenn das erledigt ist, können Sie den Befehl erfolgreich ausführen:
quelle
Für ein aktuelleres Tutorial (bei Unterschieden nicht sicher) schauen Sie sich die Video-Tutorials von hadoop screencasts an . Sie bieten Video und die eigentlichen Befehle, die darunter installiert werden sollen. Auch wenn Sie dem Autor eine E-Mail senden, ist er sehr froh, Ihnen zu antworten und Ihnen zu helfen, wenn Sie mit irgendetwas stecken bleiben.
Diese Anweisungen ähneln weitgehend denen, mit denen @Luis geantwortet hat.
quelle