Hadoop wird von GNU / Linux-Plattform und seine Aromen unterstützt. Deshalb haben wir einen Linux-Betriebssystem für den Einrichten von Hadoop Umgebung installieren. In Falls Sie haben ein Betriebssystem anderes als Linux-, können installieren Sie eine Virtualbox Software in es und haben Linux inner der Virtualbox.
Vor der Installation von Hadoop in die Linux-Umgebung, müssen wir einrichten Linux mit SSH (Secure Shell). folgen Sie den Schritten gegeben unten für den Aufbau des Linux-Umgebung.
Bei Anfang ist es empfehlenswert, einen eigenen Benutzer erstellen für Hadoop zu isolieren Hadoop-Dateisystem von Unix-Dateisystem. Befolgen Sie die unten angegebenen Schritte, um einen Benutzer zu erstellen:
Öffnen Sie die Linux-Terminal und die folgenden Befehle ein, um einen Benutzer zu erstellen.
$ su password: # useradd hadoop # passwd hadoop New passwd: Retype new passwd
SSH-Setup ist erforderlich, um verschiedene Operationen auf einem Cluster zu tun, wie Starten, Stoppen, verteilt Daemon Shell Operationen. Um verschiedene Benutzer von Hadoop authentifizieren, es ist es erforderlich zu stellt öffentliche / private Schlüsselpaar für eine Hadoop Benutzer und teilen es mit verschiedene Benutzern.
Die folgenden Befehle werden zur Erzeugung eines Schlüsselwertpaar verwendung SSH benutzt. Kopieren die öffentlichen Schlüssel bilden von id_rsa.pub zu authorized_keys, und stellt die Besitzer mit Lese- und Schreibzugriff auf Dateien bzw. authorized_keys datei respektive.
$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
Java ist die Haupt- Voraussetzung für Hadoop. Zunächst einmal sollten Sie die Existenz von Java in Ihrem System zu verifizieren verwendung dem Befehl "java -version". Die Syntax der Java-Version Befehl ist unten angegeben.
$ java -version
Wenn alles in Ordnung ist, wird es Ihnen die folgende Ausgabe.
java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b13) Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
Wenn Java nicht auf Ihrem System installiert, dann gehen Sie folgendermaßen vor für die Installation von Java.
Herunterladen java (JDK <latest version> - X64.tar.gz) indem den Besuch den folgenden Link http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads1880260.html.
Dann jdk-7u71-linux-x64.tar.gz wird sein in Ihr System herunterladen.
In der Regel werden Sie die heruntergeladene Java-Datei im Download-Ordner zu finden. verifizieren Sie es und extrahieren Sie die jdk-7u71-linux-x64.gz Datei verwendung den folgenden Befehlen.
$ cd Downloads/ $ ls jdk-7u71-linux-x64.gz $ tar zxf jdk-7u71-linux-x64.gz $ ls jdk1.7.0_71 jdk-7u71-linux-x64.gz
Zu machen Java verfügbar für alle Benutzer verfügbar , müssen Sie sie auf den Standort "/ usr / local /" zu bewegen. Öffnen Sie root und die folgenden Befehle ein.
$ su password: # mv jdk1.7.0_71 /usr/local/ # exit
Zum Einrichten von PATH und JAVA_HOME Variablen, fügen Sie die folgenden Befehle ein, um ~/.bashrc datei.
export JAVA_HOME=/usr/local/jdk1.7.0_71 export PATH=PATH:$JAVA_HOME/bin
Nun verifizieren Sie den Befehl java -version aus dem Terminal, wie oben erklärt.
Herunterladen und extrahieren Hadoop 2.4.1 von Apache Software Foundation verwendung den folgenden Befehlen.
$ su password: # cd /usr/local # wget http://apache.claz.org/hadoop/common/hadoop-2.4.1/ hadoop-2.4.1.tar.gz # tar xzf hadoop-2.4.1.tar.gz # mv hadoop-2.4.1/* to hadoop/ # exit
Wenn Sie Hadoop heruntergeladen haben, können Sie Ihre Hadoop-Cluster in einer der drei unterstützten Modi betrieben:
lokal / Standalone- Modus: Nach dem Download Hadoop in Ihrem System standardmäßig wird es in einem Standalone-Modus konfiguriert und kann als eine einzelne Java-Prozess ausgeführt werden.
Pseudo verteilten Modus: Es ist eine verteilte Simulation auf einzige Maschine. Jedes Hadoop-Daemon wie HDFS, Garn, MapReduce etc., werden als separate Java-Prozess ausführen. Dieser Modus ist nützlich für die Entwicklung.
Vollständig verteilten Modus: Dieser Modus ist mit mindestens zwei oder mehr Maschinen als Cluster verteilt. Wir werden kommen über in diesem Modus im Detail in den kommen Kapiteln.
Hier werden wir die Installation zu besprechen auf Hadoop 2.4.1 im Standalone-Modus.
Es gibt keine Daemons laufen und alles läuft in einer einzigen JVM. Standalone-Modus eignet sich für die Ausführung von Karte verkleinern-Programme während der Entwicklung, da es einfach zu testen und zu debuggen ihnen.
Sie können setzen Hadoop Umgebungsvariablen durch Anhängen die folgenden Befehle ein, um ~/.bashrc datei.
export HADOOP_HOME=/usr/local/hadoop
Bevor Sie fortfahren weiter, müssen Sie sicherstellen, dass Hadoop funktioniert prima. einfach nur Ausgabe den folgenden Befehl ein:
$ hadoop version
Wenn alles in Ordnung ist mit Ihren Einstellung, dann sollten Sie folgendes Ergebnis sehen:
Hadoop 2.4.1 Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768 Compiled by hortonmu on 2013-10-07T06:28Z Compiled with protoc 2.5.0 From source with checksum 79e53ce7994d1628b240f09af91e1af4
Es bedeutet, Ihre Hadoop Standalone-Modus Setup ist gut funktioniert. Standardmäßig ist Hadoop so konfiguriert, dass in einer nicht-verteilten Modus auf einer einzigen Maschine ausgeführt werden.
Lassen Überprüfung Sie uns ein einfaches Beispiel für Hadoop. Hadoop-Installation liefert das folgende Beispiel MapReduce JAR-Datei, die grundlegenden Funktionen des MapReduce bietet und kann für die Berechnung, wie Pi Wert, Wort zählt in einer bestimmten Liste von Dateien, etc. verwendet werden.
$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar
Werfen wir einen Eingang Verzeichnis, in dem wir ein paar Dateien zu drücken und unser Anspruch ist es, die Gesamtzahl der Wörter in diesen Dateien zählen. Um die Gesamtzahl der Wörter zu berechnen, brauchen wir nicht zu unserem MapReduce zu schreiben, sofern die .jar-Datei enthält die Implementierung für die Wortzahl. Sie können andere Beispiele versuchen, mit den gleichen .jar-Datei; nur die folgenden Befehle unterstützt MapReduce funktionale Programme Hadoop-verkleinern-Beispiele-2.2.0.jar Datei zu überprüfen.
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar
Erstellen Sie temporäre Content-Dateien in das Eingabeverzeichnis. Sie können diese Eingabeverzeichnis überall erstellen Sie möchten, um zu arbeiten.
$ mkdir input $ cp $HADOOP_HOME/*.txt input $ ls -l input
Es werden geben die folgenden Dateien in Ihrem Eingabeverzeichnis:
total 24 -rw-r--r-- 1 root root 15164 Feb 21 10:14 LICENSE.txt -rw-r--r-- 1 root root 101 Feb 21 10:14 NOTICE.txt -rw-r--r-- 1 root root 1366 Feb 21 10:14 README.txt
Diese Dateien wurden von der Installations-Home-Verzeichnis Hadoop kopiert. Für das Experiment, können Sie unterschiedlich und große Setz von Dateien zu haben.
Lassen start Sie uns die Hadoop-Prozess, um die Gesamtzahl der Wörter in allen im Eingabeverzeichnis Dateien zu zählen, wie folgt:
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar wordcount input ouput
Schritt-2 werden tun die erforderliche Verarbeitung , und speichern Sie die Ausgabe in Ausgabe / Teil r00000 Datei, die Sie durch die Verwendung prüfen:
$cat output/*
Es wird Liste unten alle Wörter zusammen mit ihren Gesamtzählung verfügbar in allen Dateien verfügbar in Eingabeverzeichnis.
"AS 4 "Contribution" 1 "Contributor" 1 "Derivative 1 "Legal 1 "License" 1 "License"); 1 "Licensor" 1 "NOTICE” 1 "Not 1 "Object" 1 "Source” 1 "Work” 1 "You" 1 "Your") 1 "[]" 1 "control" 1 "printed 1 "submitted" 1 (50%) 1 (BIS), 1 (C) 1 (Don't) 1 (ECCN) 1 (INCLUDING 2 (INCLUDING, 2 .............
folgen Sie die angegebenen unten angegebenen Schritte, um Hadoop 2.4.1 in pseudo verteilten Modus installieren.
Sie können Hadoop Umgebungsvariablen durch Anhängen die folgenden Befehle ein, um ~/.bashrc datei.
export HADOOP_HOME=/usr/local/hadoop export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin export HADOOP_INSTALL=$HADOOP_HOME
Nun gelten alle Änderungen in laufenden System.
$ source ~/.bashrc
Sie können alle Hadoop-Konfigurationsdateien in der Lage “$HADOOP_HOME/etc/hadoop”. Es ist erforderlich, um Änderungen in diesen Konfigurationsdateien je nach Hadoop Infrastruktur.
$ cd $HADOOP_HOME/etc/hadoop
Um Hadoop-Programme in Java zu entwickeln, sie haben zu rücksetzen um die Java-Umgebungsvariablen in hadoop-env.sh Datei durch Ersetzen JAVA_HOME Wert mit der Lage der Java in Ihrem System.
export JAVA_HOME=/usr/local/jdk1.7.0_71
Im Folgenden finden Sie die Liste der Dateien, die Sie bearbeiten die Konfiguration Hadoop haben.
core-site.xml
Die core-site.xml Datei enthält Informationen wie beispielsweise die Portnummer verwendet für Hadoop-Instanz, Speicher für das Dateisystem zugeordnet, Speichergrenze zum Speichern der Daten, und die Größe des Lese- / Schreibpuffer.
Öffnen Sie die Kern-site.xml und fügen Sie die folgenden Eigenschaften in zwischen <Konfiguration>,</Konfiguration> tags.
<configuration> <property> <name>fs.default.name </name> <value> hdfs://localhost:9000 </value> </property> </configuration>
hdfs-site.xml
Diehdfs-site.xml Datei enthält Informationen wie beispielsweise den Wert der Replikation Daten, namenKnoten Weg, und DatenKnoten Weg aus Ihren lokalen Dateisystemen . Es Mittel ist der Ort, an dem Sie die Hadoop-Infrastruktur gespeichert werden soll.
nehmen wir an, die folgenden Daten.
dfs.replication (data replication value) = 1 (In the below given path /hadoop/ is the user name. hadoopinfra/hdfs/namenode is the directory created by hdfs file system.) namenode path = //home/hadoop/hadoopinfra/hdfs/namenode (hadoopinfra/hdfs/datanode is the directory created by hdfs file system.) datanode path = //home/hadoop/hadoopinfra/hdfs/datanode
Öffnen Sie diese Datei und fügen Sie die folgenden Eigenschaften in zwischen der <Konfiguration> </Konfiguration> Tags in dieser Datei.
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>file:///home/hadoop/hadoopinfra/hdfs/namenode </value> </property> <property> <name>dfs.data.dir</name> <value>file:///home/hadoop/hadoopinfra/hdfs/datanode </value> </property> </configuration>
Hinweis: In der oben angegebenen Datei sind alle Eigenschaftswerte benutzerdefiniert und sie können machen Änderungen nach Ihren Hadoop Infrastruktur machen.
yarn-site.xml
Diese Datei wird verwendet, um Garn in Hadoop konfigurieren. Öffnen Sie die Garn-Datei site.xml und fügen Sie die folgenden Eigenschaften zwischen der<Konfiguration>, </Konfiguration> Tags in dieser Datei.
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
mapred-site.xml
Diese Datei wird verwendet angeben, welche Karte verkleinern Rahmen wir sind verwenden. Standardmäßig Hadoop enthält eine Vorlage von Garn-site.xml. Zunächst einmal ist es erforderlich, die Datei von mapred-site,xml.template zu mapred-site.xml Datei mit dem folgenden Befehl.
$ cp mapred-site.xml.template mapred-site.xml
Öffnen mapred-site.xml datei und fügen Sie die folgenden Eigenschaften in zwischen der <Konfiguration>, </Konfiguration>Tags in dieser Datei.
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
Die folgenden Schritte werden verwendet, um die Hadoop-Installation zu überprüfen.
Einrichten die namenKnoten verwendung dem Befehl "HDFS namenode -format" wie folgt ein.
$ cd ~ $ hdfs namenode -format
Das erwartete Ergebnis ist wie folgt.
10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = localhost/192.168.1.11 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 2.4.1 ... ... 10/24/14 21:30:56 INFO common.Storage: Storage directory /home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted. 10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0 10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11 ************************************************************/
Mit dem folgenden Befehl wird verwendet, um dfs starten. Die Ausführung dieses Befehls wird Ihre Hadoop-Dateisystem starten.
$ start-dfs.sh
Die erwartete Ausgabe ist wie folgt:
10/24/14 21:37:56 Starting namenodes on [localhost] localhost: starting namenode, logging to /home/hadoop/hadoop 2.4.1/logs/hadoop-hadoop-namenode-localhost.out localhost: starting datanode, logging to /home/hadoop/hadoop 2.4.1/logs/hadoop-hadoop-datanode-localhost.out Starting secondary namenodes [0.0.0.0]
Mit dem folgenden Befehl wird verwendet, um das Garn Skript zu starten. Die Ausführung dieses Befehls wird Ihre Garn-Dämonen starten.
$ start-yarn.sh
Die erwartete Ausgabe wie folgt:
starting yarn daemons starting resourcemanager, logging to /home/hadoop/hadoop 2.4.1/logs/yarn-hadoop-resourcemanager-localhost.out localhost: starting nodemanager, logging to /home/hadoop/hadoop 2.4.1/logs/yarn-hadoop-nodemanager-localhost.out
Die Standardportnummer zu Hadoop zugreifen ist 50070. Verwenden Sie die folgende URL, um Hadoop Dienstleistungen Browser benötigt.
http://localhost:50070/
Die Standardportnummer für alle Anwendungen von Cluster-Zugriff ist 8088. Verwenden Sie die folgende URL, um diesen Dienst zu besuchen.
http://localhost:8088/