1. Umweltvorbereitung CentOS Linux Version 7.5.1804 (Core) Installieren Erstellen eines Ordners $ cd /home/centos $ mkdir Software $ mkdir-Modul Importieren Sie das Installationspaket in den Softwareordner $ CD-Software # Ziehen Sie dann die Datei in Das hier verwendete Installationspaket ist /home/centos/software/hadoop-3.1.3.tar.gz /home/centos/software/jdk-8u212-linux-x64.tar.gz $ tar -zxvf jdk-8u212-linux-x64.tar.gz -C ../Modul $ tar -zxvf hadoop-3.1.3.tar.gz -C ../Modul Konfigurieren von Umgebungsvariablen $ cd /etc/profile.d/ $ vim meine_umgebung.sh Um die Systemvariablen nicht zu verschmutzen, erstellen wir selbst ein Umgebungsvariablenskript. Der Konfigurationsinhalt lautet wie folgt #JAVA_HOME,PFAD # export wird zu einer globalen Variable hochgestuft. Wenn Ihr Pfad von meinem abweicht, denken Sie daran, hier Ihren eigenen Pfad zu verwenden export JAVA_HOME=/home/centos/module/jdk1.8.0_212 export PATH=$PATH:$JAVA_HOME/bin #HADOOP_HOME exportiere HADOOP_HOME=/home/centos/module/hadoop-3.1.3 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin Dann speichern und beenden (wenn Sie nicht wissen, wie man vim verwendet, können Sie die grundlegende Verwendung von vim lesen, ich werde hier nicht ins Detail gehen). Lassen Sie es als Quelle verwenden, damit die Umgebungsvariablen wirksam werden $ Quelle /etc/Profil Testen Sie es, um zu sehen, ob es funktioniert $ Hadoop-Version $ Java Wenn die obige Schnittstelle angezeigt wird, liegt kein Problem vor. Wenn es immer noch nicht erfolgreich ist, können Sie die folgenden beiden Prüfungen durchführen:
ssh ohne passwort Obwohl es sich um einen Pseudocluster handelt, ist bei der Verbindung des lokalen Computers mit dem lokalen Computer immer noch ein Kennwort erforderlich. Sie müssen daher SSH ohne Kennwort einrichten. $ ssh-keygen -t rsa Drücken Sie einfach die Eingabetaste, wenn die Eingabeaufforderung angezeigt wird. Nach der Generierung des geheimen Schlüssels $ ssh-copy-id lokaler Hostname Hosts-Datei konfigurieren vi /etc/hosts #Die Konfiguration, die ich hier behalte, ist, dass der Master mit dem Intranet von Tencent Cloud konfiguriert ist. Wenn das externe Netzwerk konfiguriert ist, kann der Eclipse-Client keine Verbindung zu Hadoop herstellen ::1 lokaler Host.lokale Domäne lokaler Host ::1 localhost6.localdomain6 localhost6 172.16.0.3 Meister 127.0.0.1 lokaler Host Ändern des Hostnamens vi /etc/sysconfig/netzwerk #HOSTNAME in Master ändern HOSTNAME=master Hostnamen ändern $ hostnamectl --static set-hostname master Firewall deaktivieren $ systemctl Firewall deaktivieren #Permanent 2. Konfigurieren Sie Hadoop Konfigurationsdateien Geben Sie den Hadoop-Konfigurationsdateibereich ein. Alle Konfigurationsdateien befinden sich in diesem Ordner $ cd /home/centos/module/hadoop-3.1.3/etc/hadoop Die Dateien, die wir konfigurieren möchten, sind hauptsächlich core-site.xml
hdfs-site.xml
yarn-site.xml
Dann folgen Sie einfach den Schritten! $ vim core-site.xml <Konfiguration> <Eigenschaft> <name>fs.defaultFS</name> <value>hdfs://Tencent Cloud Intranet-IP-Adresse:9820</value> </Eigenschaft> <Eigenschaft> <name>hadoop.tmp.dir</name> <Wert>/home/centos/module/hadoop-3.1.3/data/tmp</Wert> </Eigenschaft> <!-- Berechtigungen zum Bedienen von HDFS über die Weboberfläche --> <Eigenschaft> <name>hadoop.http.staticuser.benutzer</name> <Wert>Wurzel</Wert> </Eigenschaft> <!-- Hive-Kompatibilitätskonfiguration später --> <Eigenschaft> <name>hadoop.proxyuser.root.hosts</name> <Wert>*</Wert> </Eigenschaft> <Eigenschaft> <name>hadoop.proxyuser.root.groups</name> <Wert>*</Wert> </Eigenschaft> </Konfiguration> $ vim hdfs-site.xml <Konfiguration> <Eigenschaft> <name>dfs.replikation</name> <Wert>1</Wert> </Eigenschaft> <Eigenschaft> <name>dfs.namenode.secondary.http-Adresse</name> <value>Tencent Cloud Intranet-IP-Adresse: 9868</value> </Eigenschaft> </Konfiguration> $ vim hadoop-env.sh exportiere JAVA_HOME=/home/centos/module/jdk1.8.0_212 $ vim yarn-site.xml <Konfiguration> <!-- Reducer erhält Daten --> <Eigenschaft> <name>yarn.nodemanager.aux-services</name> <Wert>mapreduce_shuffle</Wert> </Eigenschaft> <!-- Geben Sie die Adresse des ResourceManagers von YARN an --> <Eigenschaft> <name>garn.resourcemanager.hostname</name> <Wert>Meister</Wert> </Eigenschaft> <!-- Umgebungsvariablen werden aus den Containerumgebungseigenschaften der NodeManager geerbt. Für MapReduce-Anwendungen sollte zusätzlich zum Standardwert hadoop op_mapred_home hinzugefügt werden. Die Attributwerte lauten wie folgt --> <Eigenschaft> <name>yarn.nodemanager.env-whitelist</name> <Wert>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</Wert> </Eigenschaft> <!-- Lösen Sie das Problem, dass Yarn beim Ausführen des Programms das virtuelle Speicherlimit überschreitet und der Container beendet wird --> <Eigenschaft> <name>yarn.nodemanager.pmem-check-enabled</name> <Wert>falsch</Wert> </Eigenschaft> <Eigenschaft> <name>yarn.nodemanager.vmem-check-enabled</name> <Wert>falsch</Wert> </Eigenschaft> <!-- Hive-Kompatibilitätskonfiguration später --> <Eigenschaft> <name>Garn.scheduler.Minimum-Allocation-MB</name> <Wert>512</Wert> </Eigenschaft> <Eigenschaft> <name>Garn.scheduler.maximale-Zuweisung-mb</name> <Wert>4096</Wert> </Eigenschaft> <Eigenschaft> <name>Garn.NodeManager.Ressource.Speicher-MB</name> <Wert>4096</Wert> </Eigenschaft> <!-- Protokollaggregation aktivieren--> <Eigenschaft> <name>yarn.log-aggregation-enable</name> <Wert>wahr</Wert> </Eigenschaft> <!-- Zugriffspfad --> <Eigenschaft> <name>yarn.log.server.url</name> <Wert>http://172.17.0.13:19888/jobhistory/logs</Wert> </Eigenschaft> <!-- 7 Tage lang sparen --> <Eigenschaft> <name>yarn.log-aggregation.retain-seconds</name> <Wert>604800</Wert> </Eigenschaft> </Konfiguration> Konfigurieren des Verlaufsservers $ vim mapred-site.xml <!-- Adresse des Verlaufsservers--> <Eigenschaft> <name>mapreduce.jobhistory.adresse</name> <value>Tencent Cloud Intranet IP:10020</value> </Eigenschaft> <!-- Webadresse des Verlaufsservers--> <Eigenschaft> <name>mapreduce.jobhistory.webapp.adresse</name> <value>Tencent Cloud Intranet IP:19888</value> </Eigenschaft> Initialisierung Der NameNode muss beim ersten Start formatiert werden, danach ist dies jedoch nicht mehr erforderlich. $ hdfs namenode -format Nach der Initialisierung können Sie sehen, dass im Hadoop-Installationsordner zwei Ordner, Daten und Protokolle, angezeigt werden. Dies bedeutet, dass die Initialisierung erfolgreich war. Als nächstes starten wir den Cluster. $ start-dfs.sh Start abgeschlossen, keine abnormalen Informationen, überprüfen Sie den Vorgang [root@VM_0_13_centos hadoop]# jps 20032 Jps 30900 Datenknoten 31355 Sekundärer NameNode 30559 NameNode Alles erfolgreich gestartet~! Ein-Klick-Start Wenn alles oben genannte in Ordnung ist, können Sie ein Skript erstellen, um den Cluster mit einem Klick zu starten und ein neues im Bin-Verzeichnis zu erstellen. $ vim meincluster Fügen Sie den folgenden Inhalt hinzu #!/bin/bash Fall $1 in "Start") #dfs Garnverlauf start-dfs.sh start-yarn.sh mapred --daemon startet Historyserver ;; "stoppen") # DFS-Garnverlauf stop-dfs.sh stop-garn.sh mapred --daemon stoppt Historyserver ;; *) echo "Argumente sind fehlerhaft! Bitte geben Sie Start oder Stopp ein" ;; esac Konfigurieren von Skriptberechtigungen $ chmod u+x meincluster Beginnen Sie mit der Verwendung eines Skripts $ mycluster starten $ jps 23680 KnotenManager 24129 JobHistoryServer 22417 Datenknoten 24420 Jps 22023 NameNode 23384 RessourcenManager 22891 SekundärerNamensknoten 3. HDFS anzeigen Konfigurieren von Sicherheitsgruppenregeln Bevor Sie die folgenden Vorgänge ausführen, fügen Sie die folgenden Ports hinzu, die im Protokollport in den Sicherheitsgruppenregeln verwendet werden sollen: Portnummer:
Hadoop-Webseite Geben Sie im Browser Folgendes ein: Wir haben festgestellt, dass die Anzeige der sekundären NameNode-Schnittstelle nicht normal war. Dies lag an der falschen Verwendung der Zeitfunktion von dfs-dust.js in hadoop3. Lassen Sie es uns manuell korrigieren. Fahren Sie zuerst den Cluster herunter $ meinCluster stoppen Ändern der Datei $ vim /home/centos/module/hadoop-3.1.3/share/hadoop/hdfs/webapps/static/dfs-dust.js Ändern Sie ungefähr in Zeile 61, wie in der Abbildung gezeigt, Folgendes: gib ein neues Datum (Zahl (v)).toLocaleString() zurück; Nun starten wir den Cluster neu $ mycluster starten Sie können sehen, dass die Weboberfläche des sekundären NameNode normal ist. Testen von HDFS Lassen Sie uns die Datei hochladen und etwas Spaß haben. Erstellen Sie einen neuen Ordner im Hadoop-Verzeichnis $ mkdir temdatas Rufen Sie den Ordner auf und erstellen Sie eine neue Testdatei $ vim text.txt Schreiben Sie einfach, was Sie möchten, speichern Sie es und dann können wir mit dem Hochladen der Dateien beginnen. $ hdfs dfs -put text.txt / Überprüfen Sie die Webseite und laden Sie sie erfolgreich hoch~ Versuchen Sie, diese Datei erneut herunterzuladen $ hdfs dfs -get /text.txt ./text1.txt Erfolg ~ WordCount-Fallstudie Erstellen Sie einen neuen Ordnereintrag im Web Laden Sie eine Datei mit den verschiedenen Wörtern hoch, die Sie geschrieben haben, und erstellen Sie eine Wortstatistik. #Oder Sie können es in vim schreiben und selbst hochladen $ hdfs dfs -put wordcount.txt /input Testen Sie dann den Fall der Wortanzahl. Beachten Sie, dass der Ausgabeordner nicht existieren kann. $ hadoop jar /home/centos/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar Wortanzahl /Eingabe /Ausgabe Schauen wir uns nach dem Ausführen die Ergebnisse an #HDFS-Datei abrufen [root@master mydata]# hdfs dfs -get /output ./ # Ergebnisse anzeigen [root@master output]# cat part-r-00000 eine 2 b 3 c 2 T 1 e 1 f 1 An diesem Punkt können Sie frei mit Hadoop herumexperimentieren. Wer es probiert hat, wird natürlich feststellen, dass es noch ein kleines Problem gibt, das nicht gelöst ist: Wenn man im Web auf die Datei klickt, um den Anfang oder das Ende anzuzeigen, kann sie nicht angezeigt werden und auch das Herunterladen ist nicht möglich. Dies ist bei der Installation der virtuellen Maschine nicht passiert und ich untersuche noch immer, was passiert ist. Wenn jemand weiß, was los ist, hinterlassen Sie bitte eine Nachricht. Dies ist das Ende dieses Artikels zum Erstellen eines Hadoop 3.x-Pseudoclusters auf Tencent Cloud. Weitere Informationen zum Erstellen eines Hadoop 3.x-Pseudoclusters auf Tencent Cloud finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Vue realisiert den Fortschrittsbalken-Änderungseffekt
>>: Ausführliche Erläuterung der Konzepte und Verwendung von MySQL-Transaktionen
1. Der Unterschied zwischen Forward-Proxy und Rev...
undefined Wenn wir in JavaScript feststellen möch...
Die offizielle Website von Netease Kanyouxi (http...
Inhaltsverzeichnis 1. Über die visuelle Schnittst...
Überblick Heute werde ich hauptsächlich erklären,...
Vorwort Vor nicht allzu langer Zeit habe ich Brow...
Definition und Verwendung Die Anzeigeeigenschaft ...
Kürzlich stieß ich auf eine Webseite, die zwar Bil...
1. Wenn im Internet Explorer die relative Position...
Problembeschreibung: Der Benutzer hat die Anforde...
MySQL meldet einen Fehler beim Ausführen einer Ab...
1. Parallelität Die wichtigste Funktion einer OLT...
Wenn Ihr DOCTYPE wie folgt ist: Code kopieren Der ...
Inhaltsverzeichnis Einzelne Bedingung, einzelne D...
Wegen der Epidemie werde ich zu Hause fast schimm...