hadoop Tutorial
Erste Schritte mit hadoop
Suche…
Bemerkungen
Was ist Apache Hadoop?
Die Apache Hadoop-Softwarebibliothek ist ein Framework, das die verteilte Verarbeitung großer Datenmengen über Cluster von Computern mit einfachen Programmiermodellen ermöglicht. Es ist so konzipiert, dass es von einzelnen Servern auf Tausende von Computern skaliert werden kann, von denen jeder lokale Berechnungen und Speicher bietet. Anstatt sich auf Hardware zu verlassen, um Hochverfügbarkeit bereitzustellen, ist die Bibliothek selbst darauf ausgelegt, Fehler auf der Anwendungsebene zu erkennen und zu handhaben. Auf diese Weise kann ein hochverfügbarer Dienst auf einem Cluster von Computern bereitgestellt werden, die jeweils fehleranfällig sind.
Apache Hadoop enthält folgende Module:
- Hadoop Common : Die allgemeinen Dienstprogramme, die die anderen Hadoop-Module unterstützen.
- Hadoop Distributed File System (HDFS) : Ein verteiltes Dateisystem, das Zugriff auf Anwendungsdaten mit hohem Durchsatz ermöglicht.
- Hadoop YARN : Ein Framework für die Planung von Jobs und das Management von Clusterressourcen .
- Hadoop MapReduce : Ein YARN-basiertes System für die parallele Verarbeitung großer Datenmengen.
Referenz:
Versionen
Ausführung | Versionshinweise | Veröffentlichungsdatum |
---|---|---|
3.0.0-alpha1 | 2016-08-30 | |
2.7.3 | Hier klicken - 2.7.3 | 2016-01-25 |
2.6.4 | Klicken Sie hier - 2.6.4 | 2016-02-11 |
2.7.2 | Klicken Sie hier - 2.7.2 | 2016-01-25 |
2.6.3 | Hier klicken - 2.6.3 | 2015-12-17 |
2.6.2 | Klicken Sie hier - 2.6.2 | 2015-10-28 |
2.7.1 | Klicken Sie hier - 2.7.1 | 2015-07-06 |
Installation oder Setup unter Linux
Ein Pseudo-verteiltes Cluster-Setup-Verfahren
Voraussetzungen
Installieren Sie JDK1.7 und legen Sie die Umgebungsvariable JAVA_HOME fest.
Erstellen Sie einen neuen Benutzer als "hadoop".
useradd hadoop
Richten Sie die SSH-Anmeldung ohne Kennwort für ein eigenes Konto ein
su - hadoop ssh-keygen << Press ENTER for all prompts >> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
Überprüfen Sie dies, indem Sie
ssh localhost
ausführenDeaktivieren Sie IPV6, indem Sie
/etc/sysctl.conf
folgt bearbeiten:net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
Überprüfen Sie dies mit
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
(sollte 1 zurückgeben)
Installation und Konfiguration:
Laden Sie die erforderliche Version von Hadoop mit dem Befehl
wget
aus den Apache-Archiven herunter.cd /opt/hadoop/ wget http:/addresstoarchive/hadoop-2.x.x/xxxxx.gz tar -xvf hadoop-2.x.x.gz mv hadoop-2.x.x.gz hadoop (or) ln -s hadoop-2.x.x.gz hadoop chown -R hadoop:hadoop hadoop
Aktualisieren Sie
.bashrc
/.kshrc
basierend auf Ihrer Shell mit den Umgebungsvariablenexport HADOOP_PREFIX=/opt/hadoop/hadoop export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop export JAVA_HOME=/java/home/path export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$JAVA_HOME/bin
Bearbeiten
$HADOOP_HOME/etc/hadoop
Verzeichnis$HADOOP_HOME/etc/hadoop
die folgenden Dateiencore-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property> </configuration>
mapred-site.xml
Erstellen Sie
mapred-site.xml
aus seiner Vorlagecp mapred-site.xml.template mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
garne-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoop/hdfs/datanode</value> </property> </configuration>
Erstellen Sie den übergeordneten Ordner, um die Hadoop-Daten zu speichern
mkdir -p /home/hadoop/hdfs
Format NameNode (bereinigt das Verzeichnis und erstellt die erforderlichen Metadateien)
hdfs namenode -format
Starten Sie alle Dienste:
start-dfs.sh && start-yarn.sh mr-jobhistory-server.sh start historyserver
Verwenden Sie stattdessen start-all.sh (veraltet).
Überprüfen Sie alle laufenden Java-Prozesse
jps
Namenode-Webschnittstelle: http: // localhost: 50070 /
Ressourcen-Manager-Webschnittstelle: http: // localhost: 8088 /
So stoppen Sie Daemons (Dienste):
stop-dfs.sh && stop-yarn.sh mr-jobhistory-daemon.sh stop historyserver
Verwenden Sie stattdessen stop-all.sh (veraltet).
Installation von Hadoop auf Ubuntu
Hadoop-Benutzer erstellen:
sudo addgroup hadoop
Benutzer hinzufügen:
sudo adduser --ingroup hadoop hduser001
SSH konfigurieren:
su -hduser001
ssh-keygen -t rsa -P ""
cat .ssh/id rsa.pub >> .ssh/authorized_keys
Hinweis : Wenn Sie beim Schreiben des autorisierten Schlüssels Fehler [ bash: .ssh / authorised_keys: Keine solche Datei oder ein solches Verzeichnis ] erhalten Überprüfen Sie hier .
Füge hadoop Benutzer zur Liste von sudoer hinzu:
sudo adduser hduser001 sudo
Deaktivieren von IPv6:
Hadoop installieren:
sudo add-apt-repository ppa:hadoop-ubuntu/stable
sudo apt-get install hadoop
Hadoop-Übersicht und HDFS
- Hadoop ist ein Open-Source-Software-Framework zur Speicherung und umfangreichen Verarbeitung von Datensätzen in einer verteilten Computerumgebung. Es wird von der Apache Software Foundation gesponsert. Es ist so konzipiert, dass es von einzelnen Servern auf Tausende von Computern skaliert werden kann, von denen jeder lokale Berechnungen und Speicher bietet.
- Hadoop wurde 2005 von Doug Cutting und Mike Cafarella gegründet.
- Cutting, der bei Yahoo! arbeitete benannte es damals nach dem Spielzeugelefanten seines Sohnes.
- Es wurde ursprünglich entwickelt, um die Verteilung für das Suchmaschinenprojekt zu unterstützen.
- Hadoop Distributed File System (HDFS): Ein verteiltes Dateisystem, das Zugriff auf Anwendungsdaten mit hohem Durchsatz ermöglicht. Hadoop MapReduce: Ein Software-Framework für die verteilte Verarbeitung großer Datenmengen in Rechenclustern.
- Sehr fehlertolerant. Hoher Durchsatz Geeignet für Anwendungen mit großen Datensätzen. Kann aus handelsüblicher Hardware aufgebaut werden.
- Master / Slave-Architektur. Der HDFS-Cluster besteht aus einem einzigen Namenode, einem Masterserver, der den Namensbereich des Dateisystems verwaltet und den Zugriff von Clients auf Dateien regelt. Die DataNodes verwalten Speicher, der mit den Knoten verbunden ist, auf denen sie ausgeführt werden. HDFS macht einen Dateisystem-Namespace verfügbar und ermöglicht das Speichern von Benutzerdaten in Dateien. Eine Datei wird in einen oder mehrere Blöcke aufgeteilt und eine Gruppe von Blöcken wird in DataNodes gespeichert. DataNodes: dient zum Lesen, Schreiben von Anforderungen, zum Erstellen, Löschen und Replizieren von Blöcken nach Anweisung von Namenode.
- HDFS dient zum Speichern sehr großer Dateien auf Computern in einem großen Cluster. Jede Datei ist eine Folge von Blöcken. Alle Blöcke in der Datei außer dem letzten haben dieselbe Größe. Blöcke werden zur Fehlertoleranz repliziert. Der Namenode empfängt einen Heartbeat und einen BlockReport von jedem DataNode im Cluster. BlockReport enthält alle Blöcke in einem Datanode.
- Häufig verwendete Befehle: -
- ls Verwendung: hadoop fs –ls Pfad (Verzeichnispfad zur Liste). Cat- Nutzung: hadoop fs -cat PathOfFileToView
Link für hadoop-Shell-Befehle: - https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/FileSystemShell.html