close
Kaspersky Endpoint Security

Welcome to

Kaspersky Endpoint Security


By Kaspersky Endpoint Security


Datalocker Erwirbt USB Security Solutions Provider



Ausführen von Hadoop auf Windows

Was ist Hadoop? ist ein ein Open-Source-Projekt in Java geschrieben und mit zwei Dinge, um den Nutzern entworfen: ein verteiltes Dateisystem (HDFS) und ein Verfahren zur verteilten Berechnung. Es basiert auf Google veröffentlichten und Konzept, das zu diskutieren, wie man einen Rahmen der Ausführung intensive Berechnungen über Tonnen von Computern fähig zu bauen. Etwas, das vielleicht, wissen Sie, in den Aufbau einer riesigen Suchindex hilfreich sein. Lesen Sie die und für weitere Informationen und Hintergrund auf Hadoop. Was ist die große Sache es unter Windows zu laufen? Suche nach Linux? Wenn Sie sich für eine umfassende Anleitung zur immer Hadoop läuft auf Linux, lesen Sie bitte Michael Noll hervorragende Führer suchen: und. Dieser Beitrag wurde von diesen sehr informativen Artikeln inspiriert. Hadoop Schlüsseldesignziel ist die Lagerung und Berechnung auf viele homogene "Ware" Maschinen zur Verfügung zu stellen; in der Regel eine ziemlich bullige Maschine Linux läuft. Mit diesem Ziel vor Augen hat die Hadoop-Team logisch konzentrierte sich auf Linux-Plattformen in ihrer Entwicklung undDokumentation. Ihr schließt sogar den Vorbehalt, dass "Win32 als Entwicklungsplattform unterstützt wird. Verteilte Betrieb wurde auf Win32 nicht gut getestet, so ist dies kein Produktionsplattform. "Wenn Sie Windows verwenden möchten Hadoop in ausführen Pseudo vertrieben oder verteilten Modus (mehr dazu auf dieser Modi in einem Moment), bist du ziemlich viel links auf eigene Faust. Nun werden die meisten Menschen wahrscheinlich immer noch nicht Hadoop laufen auf Windows-Rechnern in der Produktion, sondern die Fähigkeit, auf der am weitesten verbreitete Plattform in der Welt einzusetzen ist wahrscheinlich immer noch eine gute Idee, so dass Hadoop durch viele der Entwickler da draußen verwendet werden, dass verwenden Sie Windows auf einer täglichen Basis. Caveat Emptor Ich bin einer der wenigen, die die Zeit zum Einrichten eines tatsächlichen verteilt Hadoop-Installation unter Windows investiert hat. Ich habe es für einige erfolgreiche Entwicklung Tests verwendet. Ich habe das nicht in der Produktion verwendet. Auch, obwohl ich in einer Linux / Unix-Umgebung umgehen können, ich bin kein Experte, so einige der Ratschläge unten möglicherweise nicht die richtige Art und Weise zu konfigurierenDinge. Ich bin auch kein Sicherheitsexperte. Wenn einer von euch da draußen Korrekturen oder Ratschläge für mich haben, bitte lassen Sie mich in einem Kommentar wissen und ich werde es fest. In diesem Handbuch werden und geht davon aus, dass Sie keine vorherige Hadoop-Installation verfügen. Ich habe auch meine primäre Arbeit mit Hadoop unter Windows XP durchgeführt. Wo ich bin mir dessen bewusst Unterschiede zwischen XP und Vista, ich habe versucht, sie zu beachten. Bitte kommentieren, wenn etwas, das ich geschrieben habe, nicht geeignet für Vista ist. Fazit: Leistung kann variieren, aber in dieser Anleitung sollten Sie begann auf Windows Hadoop läuft. Ein kurzer Hinweis auf verteilten Hadoop Hadoop läuft in einem von drei Modi: Standalone: ​​Alle Hadoop-Funktionalität läuft in einem Java-Prozess. Dies funktioniert "out of the box" und ist trivial auf jeder Plattform zu verwenden, enthalten Sie Windows. Pseudo-Distributed: Hadoop Funktionalität alle Läufe auf dem lokalen Rechner, sondern die verschiedenen Komponenten werden als separate Prozesse ausgeführt werden. Das ist viel mehr wie "echte" Hadoop und einige Konfigurationen sowie SSH benötigt. Es hat jedoch nicht,Genehmigung der Lagerung oder Verarbeitung über mehrere Maschinen verteilt. Vollständig verteilt: Hadoop-Funktionalität wird über ein "Cluster" von Maschinen verteilt. Jede Maschine ist Teil etwas anders (und überlappende gelegentlich) Rollen. Auf diese Weise können mehrere Maschinen Verarbeitungsleistung und Speicherkapazität zum Cluster beitragen. Das können Sie auf Standalone-Modus und Psuedo-Distributed (bis zu einem gewissen Grad) gestartet. Werfen Sie einen Blick auf, dass, wenn Sie nicht bereit sind für Vollständig verteilt. Dieser Leitfaden konzentriert sich auf die Voll verteilten Modus von Hadoop. Schließlich ist es das interessanteste, wo Sie tatsächlich echte Distributed Computing zu tun. Vorraussetzungen Java Ich gehe davon aus, wenn Sie in Laufen Hadoop interessiert sind, die Sie mit der Java-Programmierung vertraut sind und haben Java auf allen Rechnern installiert, auf dem Sie Hadoop ausgeführt werden soll. Die Hadoop docs empfehlen Java 6 und benötigen mindestens Java 5. Unabhängig davon, welche Sie sich entscheiden, müssen Sie sicherstellen, dass Sie die gleiche wichtige Java-Version (5 oder 6) auf jeder installiertMaschine. Auch jeder Code, den Sie schreiben für die Ausführung von Hadoop MapReduce der Verwendung muss mit der Version kompiliert werden, die Sie wählen. Wenn Sie nicht installiert haben Java, gehen sie von Sun erhalten und installieren. Ich gehe davon aus Sie verwenden Java 6 in den Rest dieses Handbuchs. Cygwin Wie ich schon sagte in der Einleitung, geht davon aus Hadoop Linux (oder ein Unix-Geschmack OS) verwendet wird, um Hadoop auszuführen. Diese Annahme ist ziemlich tief vergraben. Verschiedene Teile von Hadoop verwenden Shell-Skripte ausgeführt, die nur auf einem Linux-Shell arbeiten. Es nutzt auch passwordless Secure Shell (SSH) zwischen Computern im Hadoop-Cluster zu kommunizieren. Der beste Weg, diese Dinge auf Windows zu tun ist, um Windows mehr wie Linux machen handeln. Sie können dies mit zu tun, die eine "Linux-ähnliche Umgebung für Windows" bietet, die Sie im Linux-Stil Kommandozeilenprogramme sowie wirklich nützlich wie OpenSSH Linux-centric Software laufen zu verwenden. Gehen . Machen Sie es noch nicht installiert werden. Ich werde beschreiben, wie Sie es unten zu installieren. Hadoop Go. Ich schreibe diese für Version0,17 und ich davon aus, dass das, was Sie verwenden. Mehr als ein Windows-PC auf einem LAN wahrscheinlich ohne es sollte gehen zu sagen, dass dieser Anleitung folgen, müssen Sie mehr als einen PC zu haben. Ich werde Sie haben zwei Computer zu übernehmen und dass sie beide auf Ihrem LAN. Gehen Sie weiter und bezeichnen eine der Meister zu sein und eine der Slave sein. Diese Maschinen werden gemeinsam Ihre "Cluster" sein. Der Meister wird dafür verantwortlich sein, die Sklaven der Arbeit zu tun haben (wie zum Beispiel Daten zu speichern oder MapReduce Jobs ausgeführt wird). Der Master kann auch als auch seinen Anteil an dieser Arbeit zu tun. Wenn Sie mehr als zwei PCs haben, können Sie immer Setup Slave2, Slave3 und so weiter. Einige der folgenden Schritte müssen auf allen Cluster-Rechner ausgeführt werden, einige auf nur Master oder Slaves. Ich werde merken, welche für jeden Schritt gelten. Schritt 1: Konfigurieren Sie Ihre Hosts-Datei (alle Maschinen) Dieser Schritt ist nicht unbedingt erforderlich ist, aber es wird Ihr Leben leichter auf der Straße, wenn Ihr Computer IP-Adressen ändern. Es wird Ihnen auch die Dinge helfen gerade in Ihrem Kopf alsSie Konfigurationsdateien bearbeiten. Öffnen Sie die Windows-Hosts-Datei in C: \ Windows \ System32 \ drivers \ etc \ hosts (die Datei "hosts" ohne Erweiterung genannt) in einem Texteditor und fügen Sie die folgenden Zeilen (die NNNs mit den IP-Adressen der beiden ersetzen Master und Slave): Master NNN.NNN.NNN.NNN Slave NNN.NNN.NNN.NNN Speichern Sie die Datei. Schritt 2: Installieren von Cygwin und OpenSSH sshd konfigurieren (alle Maschinen) Cygwin hat ein bisschen von einer ungeraden Installationsprozess, weil es Ihnen, welche Bibliotheken von nützlichen Linux-y-Programme und Dienstprogramme, die Sie installieren wählen, und wählen können wollen. In diesem Fall sind wir wirklich die Installation von Cygwin der Lage sein, Shell-Skripte ausführen und. OpenSSH ist eine Implementierung eines Servers (sshd) und Client (ssh). Wenn Sie mit SSH nicht vertraut sind, können Sie daran denken, wie eine sichere Version von Telnet. Mit dem Befehl ssh, können Sie auf einen anderen Computer läuft sshd einloggen und damit von der Kommandozeile arbeiten. Anstatt das Rad neu zu erfinden, werde ich Ihnen sagen, zu gehen. Sie können 6. Wie nach Anweisung stoppendie verknüpften Anweisungen, ich nehme an, Sie Cygwin c installiert haben: \ cygwin wenn Sie es an anderer Stelle installieren. Wenn Sie eine Firewall auf Ihrem Rechner laufen lassen, müssen Sie sicher, dass Port machen 22 für SSH-Verbindungen geöffnet ist. Wie immer bei Firewalls, öffnen Sie Ihre Maschine so wenig wie möglich nach oben. Wenn Sie Windows-Firewall verwenden, stellen Sie sicher, dass der offene Port zu Ihrem LAN scoped ist. Microsoft hat, wie dies alles mit der Windows-Firewall zu tun (navigieren Sie zu dem Abschnitt nach unten Titel "Konfigurieren von Ausnahmen für Ports"). Schritt 3: Konfigurieren Sie SSH (alle Maschinen) Hadoop verwendet SSH den Master-Computer (s) in einem Cluster zu ermöglichen, Prozesse auf den Slave-Computer zu starten und zu stoppen. Eines der schönen Dinge über SSH ist es mehrere Arten der sicheren Authentifizierung unterstützt: Sie Passwörter verwenden können, oder können Sie öffentliche / private Schlüssel verwenden, ohne Passwörter ( "passwordless") zu verbinden. Hadoop erfordert, dass Sie Setup SSH diese zu tun. Ich werde nicht gehen sehr ins Detail auf, wie das alles funktioniert, aber es genügt zu sagen, dass du bistgeht Folgendes tun: Erstellen Sie eine öffentlich-private Schlüsselpaar für Ihren Benutzer auf jedem Cluster-Maschine. Tauschen Sie jeden öffentlichen Schlüssel des Benutzers Maschine miteinander Maschinenbenutzer im Cluster. Generieren public / private Schlüsselpaare Um ein Schlüsselpaar, offene Cygwin zu generieren und geben Sie die folgenden Befehle ($> der Eingabeaufforderung): $> ssh-keygen -t dsa -P '' -f ~ / .ssh / id_dsa $> cat ~ / .ssh / id_dsa.pub >> ~ / .ssh / authorized_keys Jetzt sollten Sie in der Lage sein, in Ihrem lokalen Rechner sSH mit dem folgenden Befehl: $> ssh localhost Wenn Sie nach Ihrem Passwort gefragt, es einzugeben. Sie werden so etwas wie die folgenden in Ihrem Cygwin-Terminal zu sehen. hayes @ localhost-Passwort: Letzter Login: Sun 8. Juni 19.47.14 2008 von localhost hayes @ Calculon ~ $> Um die SSH-Sitzung beenden und zur normalen Terminal, Gebrauch zurückgehen: $> Ausgang Stellen Sie sicher, dies auf, alles zu tun Computer im Cluster. Tauschen Sie öffentliche Schlüssel Nun, da Sie in Ihrem Cluster auf jeder Maschine Schlüsselpaare öffentliche und private, müssen Sie Ihre öffentlichen Schlüssel zu teilen um zuBefehl: $> ssh Slave sollten Sie automatisch ohne Benutzernamen und kein Passwort erforderlich, um in der Slave-Maschine angemeldet sein. Stellen Sie sicher, Ihre SSH-Sitzung zu beenden aus. Weitere Informationen zu diesem Format der Konfigurationsdatei und was es tut, gehen oder Mann ssh_config in Cygwin laufen. Schritt 4: Auszug Hadoop (alle Maschinen) Wenn Sie nicht 0,17 Hadoop heruntergeladen haben, gehen Sie das jetzt tun. Die Datei wird eine ".tar.gz" Erweiterung haben, die nicht nativ von Windows-verstanden wird. Sie brauchen etwas wie WinRAR sie zu extrahieren. (Wenn jemand etwas einfacher als WinRAR weiß zum Extrahieren von geteerten-gzip-Dateien unter Windows, lassen Sie einen Kommentar.) Sobald Sie ein Extraktionsprogramm haben, entpacken Sie es direkt in c: \ cygwin \ usr \ local. (Angenommen, Sie Cygwin c: \ cygwin, wie oben beschrieben). Die extrahierten Ordner wird Hadoop-0.17.0 genannt werden. Benennen Sie es zu Hadoop. Alle weiteren Schritte übernehmen Sie in diesem hadoop Verzeichnis sind und relative Pfade für Konfigurationsdateien und Shell-Skripte verwenden. Schritt 5: Konfigurierenhadoop-env.sh (alle Maschinen) Die conf / hadoop-env.sh ist ein Shell-Skript, das verschiedene Umgebungsvariablen einrichtet, die Hadoop ausgeführt werden muss. Öffnen Sie conf / hadoop-env.sh in einem Texteditor. Suchen Sie die Zeile, die mit "#export JAVA_HOME" beginnt. Ändern Sie diese Zeile in etwa wie folgt: export JAVA_HOME = c: \\ Programme \ Files \\ Java \\ jdk1.6.0_06 Dies sollte das Home-Verzeichnis Ihrer Java-Installation sein. Beachten Sie, dass Sie benötigen die führenden "#" (Kommentar) Symbol zu entfernen, und dass Sie brauchen beide Schrägstriche und Leerzeichen mit einem Backslash zu entkommen. Als nächstes suchen Sie die Zeile, die mit "#export HADOOP_IDENT_STRING" beginnt. Ändern Sie ihn auf etwa wie folgt: export HADOOP_IDENT_STRING = MYHADOOP Wo MYHADOOP, was Sie wollen sein können mit Ihrem Hadoop-Cluster zu identifizieren. So stellen Sie sicher, dass jede Maschine im Cluster den gleichen Wert verwendet. Um zu testen, diese Änderungen die folgenden Befehle in Cygwin Ausgabe: $> cd / usr / local / hadoop $> bin / Hadoop-Version Sie sollten eine Ausgabe ähnlich sehen: Hadoop 0.17.0Subversion -r 656.523 Zusammengestellt von hadoopqa am Do 15. Mai 07.22.55 UTC 2008 Wenn Sie eine Ausgabe wie diese: bin / hadoop: Linie 166: c: \ Programme \ Java \ jdk1.6.0_05 / bin / java: Nein solche Datei oder das Verzeichnis bin / hadoop: Linie 251: c: \ Programme \ Java \ jdk1.6.0_05 / bin / java: Keine solche Datei oder das Verzeichnis bin / hadoop: Linie 251: exec: c: \ Programme \ Java \ jdk1.6.0_05 / bin / java: kann nicht ausgeführt werden: keine solche Datei oder das Verzeichnis Dies bedeutet, dass Ihr Java-Home-Verzeichnis ist falsch. Gehen Sie zurück und stellen Sie sicher, das richtige Verzeichnis angegeben und verwendet, um die entsprechenden Entkommen. Schritt 6: Konfigurieren von Hadoop-site.xml (alle Maschinen) Die conf / Hadoop-site.xml Datei ist im Grunde eine Properties-Datei, die Sie alle Arten von HDFS und MapReduce-Parameter auf einer pro-Maschine Basis lässt konfigurieren. Ich werde nicht ins Detail gehen hier über das, was jeder Unterkunft gibt, aber es gibt drei, die Sie auf allen Maschinen konfigurieren müssen: fs.default.name, mapred.job.tracker und dfs.replication. Sie können nur die XML kopieren unten in die conf / Hadoop-Datei site.xml.<? Xml version = "1.0"?> <<Xml-stylesheet type = "text / xsl" href = "configuration.xsl"?> - Put ortsspezifische Eigenschaft überschreibt in dieser Datei. -> <Konfiguration> <property> <name> fs.default.name </ name> <value> hdfs: // Master: 47110 </ value> </ property> <property> <name> mapred.job.tracker < / name> <value> Master: 47111 </ value> </ property> <property> <name> dfs.replication </ name> <value> 2 </ value> </ property> </ configuration> weitere Informationen über was diese Konfigurationseigenschaften (und andere) haben, sehen das und das. Schritt 7: Konfigurieren von Sklaven-Datei (nur Master) Die conf / Sklaven-Datei teilt dem Master mit, wo es Sklaven Arbeit zu tun gibt. Öffnen Sie Ihre in einem Texteditor. Es wird wahrscheinlich eine Zeile haben, die sagt: "localhost". Ersetzen Sie, dass mit dem folgenden: Master-Slave Schritt 8: Firewall-Konfiguration (alle Maschinen) Wenn Sie die Windows-Firewall verwenden, müssen Sie sicherstellen, dass die entsprechenden Ports offen sind, so dass die Sklaven HTTP-Anfragen, um Informationen aus dem Master zu machen. (Dies unterscheidet sich von

Endpoint-Security 2014     Endpoint-Security-10 Produkthandbuch

Categories and tags