Tutorial: Installation eines Apache Hadoop Single Node Cluster mit der Hortonworks Data Platform

2 Kommentare

In diesem Tutorial zeige ich wie man einen Hadoop Single Node Cluster mit der Hortonworks Data Platform in einer Virtualbox installiert. Nach der Installation steht ein voll funktionsfähiger Cluster zum Ausprobieren bereit. Man braucht dazu kein komplett neues System aufsetzen, da alles in der virtuellen Maschine läuft. Die Installation ist ebenso als lokale Entwicklungsumgebung geeignet, um implementierte Map/Reduce Job zu debuggen o.ä. Die Hortonworks Data Platform ist eine 100% Open Source Apache Hadoop Distribution und enthält die folgenden Komponenten:

  • Hadoop Distributed File System (HDFS)
  • MapReduce
  • Apache Pig
  • Apache Hive
  • Apache HCatalog
  • Templeton
  • Apache HBase
  • Apache ZooKeeper
  • Apache Oozie
  • Apache Sqoop
  • Ganglia
  • Nagios

Dieses Tutorial basiert auf diesem Einführungsleitfaden. Während der Installation sollte eine schnelle Internetverbindung zur Verfügung stehen, da ansonsten Probleme mit Puppet timeouts auftreten können. In diesem Fall kann es sinnvoll sein einige RPMs vorher manuell zu installieren. Dieser Thread im Hortonworks Forum ist dazu evtl. hilfreich.

Installation Virtualbox

  1. Der erste Schritt ist die Installation der Virtualbox Software, welche hier heruntergeladen werden kann. Bitte die entsprechende Datei für das installierte Betriebsystem wählen.
  2. Virtualbox mit den Standardeinstellungen installieren
  3. Die ISO-Datei für CentOS 6.3 von einem Mirror der Wahl herunterladen. (z.B. diese ISO).
  4. ISO-Datei in Virtualbox installieren. Detaillierte Installationsanweisungen finden sich hier.
  5. Vor dem Start der virtuellen Maschine bitte folgende Einstellungen konfigurieren:
    • Hauptspeicher: 4096 MB
    • Festplattenspeicher: 16 GB
    • IOAPIC aktivieren
  6. Virtuelle Maschine starten

Folgende Bildschirmfotos sind hierzu hilfreich:

Virtualbox Settings

Virtualbox Settings

Installation CentOS

  1. Wenn alles soweit korrekt eingestellt ist, dann wird die Installation von CentOS automatisch gestartet.
  2. Bitte „Install or upgrade an existing system“ von der Liste auswählen.
  3. Für den Hostnamen die Standardeinstellung so lassen: „localhost.localdomain“
  4. Den „Media Test“ überspringen.
  5. Virtualbox Settings

  6. Den Installationstyp „Minimal Desktop“ auswählen.
  7. Virtualbox Settings

  8. Einen User für den Cluster anlegen (z.B. hadoop).
  9. Nach der erfolgreichen Installation die virtuelle Maschine restarten und als User „root“ einloggen

Vorbereitung der HMC Single Node Cluster Installation

  1. Das Keyboard Layout auf die bevorzugte Sprache umstellen „System->Administration->Keyboard“.
  2. Firewall deaktivieren.
  3. chkconfig iptables off
    chkconfig ip6tables off

  4. SELinux deaktivieren.
  5. vi /etc/selinux/config

    • SELINUX=enforcing auf SELINUX=disabled ändern
  6. ntpd beim Systemstart automatisch hochfahren
  7. chkconfig ntpd on

  8. Die Datei „/etc/hosts“ so anpassen wie in dem folgenden Bildschirmfoto. Es ist sehr wichtig, dass der erste Eintrag „localhost.localdomain“ lautet, da ansonsten das HMC Setup nicht funktionieren wird. Es gibt in diesem Fall ein Problem mit der Hostnamenauflösung.
  9. Virtualbox Settings

  10. „hostname -f“ ins Terminal eingeben. Die Ausgabe sollte „localhost.localdomain“ sein.
  11. „hostname -s“ ins Terminal eingeben. Die Ausgabe sollte „localhost“ sein.
  12. Den ssh-Service starten.
  13. /sbin/service sshd start

  14. sshd sollte beim Bootvorgang automatisch starten
  15. chkconfig sshd on

  16. Den passwortlosen SSH Login für den Benutzer „root“ auf localhost konfigurieren.
  17. ssh-keygen
    ssh-copy-id localhost
    chmod 700 .ssh
    chmod 640 authorized_keys

  18. Die Konfiguration des ssh-Zugriffs ohne Passwort mit folgendem Kommando verifizieren:
  19. ssh localhost

  20. Eine Textdatei „hostdetail.txt“ erstellen, welche alle Server des Clusters beinhaltet. In unserem Beispiel ist es nur der lokale Host:
  21. localhost.localdomain

  22. Wenn ein GUI-Editor verwendet werden soll, dann wird zunächst folgende Meldung erscheinen. In diesem Fall kann man relativ einfach, z.B. gedit, nachinstallieren. Einfach den Anweisungen folgen.
  23. Virtualbox Settings

  24. Nach der Vorbereitung der Installation empfiehlt es sich einen Snapshot der Virtualbox zu erstellen, um später einfach wieder zu diesem Punkt zurückzukommen, wenn etwas bei der Installation schief läuft.

Installation Hortonworks Data Platform mit HMC

  1. RPM herunterladen (Auf dieser Seite kann geprüft werden, ob bereits eine neuere Version existiert.)
  2. rpm -Uvh http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6/hdp-release-1.1.1.16-1.el6.noarch.rpm

  3. Installation „Extra Packages for Enterprise Linux (EPEL)“
  4. yum install epel-release

  5. Installation HMC
  6. yum install hmc

  7. Installationsstatus prüfen
  8. rpm -qa | grep hmc

  9. HMC service starten. Die Frage bzgl. der Oracle-Lizenz bestätigen.
  10. service hmc start

  11. Firewall stoppen
  12. /etc/init.d/iptables stop

  13. Nun kann mit dem finalen Installationsschritt fortgefahren werden.

Provisionierung des Clusters

  1. Die Hauptseite des Hortonworks Management Center (HMC) aufrufen. Wenn der Aufruf von außerhalb der virtuellen Maschine stattfindet, dann einfach localhost mit der IP der Virtualbox ersetzen (ifconfig).
  2. http://localhost/hmc/html

  3. Den Wizard-Anweisungen folgen.
  4. Bei der Frage nach dem „Disk Mount Point“ bitte einen anderen angeben, als vorgeschlagen. Zum Beispiel „/data“.
  5. Virtualbox Settings

  6. Wenn die Installation erfolgreich war, dann sieht das so aus :-)
  7. Virtualbox Settings

  8. Bei einem Fehler sind diese Logfiles ggf. sehr hilfreich:
  9. /var/log/hmc/hmc.log
    /var/log/puppet_apply.log

  10. Dashboard aufrufen, um den Status des Clusters zu überprüfen:
  11. Virtualbox Settings

  12. Für das sichere Herunterfahren zunächst alle Services über das HMC stoppen.
  13. Nach dem erneuten Start des Systems kann HMC einfach mit folgenden Kommandos wieder hochgefahren werden:
  14. service hmc start
    service hmc-agent start

  15. Für das automatische Starten von HMC beim Bootvorgang ist diese Anleitung ggf. hilfreich (optional).

Der Cluster kann nun benutzt werden. Bei Problemen und Fehlern empfehle ich einen Blick in die Dokumentation von Hortonworks zu werfen oder hinterlasst einfach einen Kommentar. Frohe Weihnachten :-)

Autor

Dennis Schulte

Dennis Schulte

Dennis Schulte ist seit 2009 als Senior IT Consultant bei der codecentric AG tätig. Er unterstützt seine Kunden insbesondere im Bereich Enterprise-Architekturen und der Optimierung von IT-Prozessen. Aufgrund seiner langjährigen Erfahrung als Architekt und Entwickler verfügt er über ein umfassendes Wissen im Bereich Java EE und Open-Source-Technologien und hier insbesondere im Umfeld Spring Batch und Massendatenverarbeitung. Seine Projektschwerpunkte liegen in der Architekturberatung und der Durchführung von Projekten im Versicherungsumfeld.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentare

  • November 19, 2013 von Jan Leo

    Hi,

    leider lässt sich bei mir CentOS nicht mit der VirtualBox starten.
    Der Fehler lautet: “This kernel requires an x86-64 CPU, but only detected an i686 CPU. Unable to boot – please use a kernel appropriate for your CPU”

    Ich habe hier auch eine vermeintliche Lösung gefunden:

    http://hereirestinremorse.wordpress.com/virtualbox/this-kernel-requires-an-x86-64-cpu-but-only-detected-an-i686-cpu-unable-to-boot-please-use-a-kernel-appropriate-for-your-cpu/

    Leider funktioniert sie nicht.

    Hat zufällig jemand eine Idee, wie man das Problem lösen könnte? Oder muss ich ein anderes Betriebssystem nutzen / auf die nächste CentOS-Version warten?

    Grüße

    JL

    Proz. bei mir ist: core i5 vPro

  • Thanks for your post. You can run a MapReduce job on YARN in a pseudo-distributed mode by setting a few parameters and running ResourceManager daemon and NodeManager daemon in addition.

    The following instructions assume that 1. ~ 4. steps of the above instructions are already executed.

    Configure parameters as follows:

    etc/hadoop/mapred-site.xml:

    mapreduce.framework.name
    yarn

    etc/hadoop/yarn-site.xml:

    yarn.nodemanager.aux-services
    mapreduce_shuffle

    Start ResourceManager daemon and NodeManager daemon:

    $ sbin/start-yarn.sh

    Browse the web interface for the ResourceManager; by default it is available at:
    ResourceManager – http://localhost:8088/
    Run a MapReduce job.
    When you’re done, stop the daemons with:

    $ sbin/stop-yarn.sh
    https://intellipaat.com/

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *