So verwenden Sie VirtualBox zum Simulieren eines Linux-Clusters

So verwenden Sie VirtualBox zum Simulieren eines Linux-Clusters

1. Richten Sie HOST auf dem Host-Macbook ein

Im vorherigen Dokument wurde die statische IP-Adresse der virtuellen Maschine festgelegt. Sie können sich in Zukunft über diese IP-Adresse anmelden. Lassen Sie uns es der Einfachheit halber jedoch einrichten. Ändern Sie zunächst die Hosts-Datei auf dem Mac, sodass Sie beim SSH die IP-Adresse nicht eingeben müssen.

sudo vim /etc/hosts

Oder sudo vim /private/etc/hosts

Tatsächlich sind diese beiden Dateien eine einzige und durch einen Link miteinander verknüpft. Beachten Sie, dass Sie sudo hinzufügen und als Administrator ausführen müssen, da Sie die Datei sonst nicht speichern können.

##
# Host-Datenbank
#
# localhost wird zum Konfigurieren der Loopback-Schnittstelle verwendet
# wenn das System bootet. Ändern Sie diesen Eintrag nicht.
##
127.0.0.1 lokaler Host
255.255.255.255 Broadcasthost
::1 lokaler Host
50.116.33.29 sublime.wbond.net
127.0.0.1 windows10.microdone.cn
# Hinzugefügt von Docker Desktop
# Damit derselbe Kube-Kontext auf dem Host und im Container funktioniert:
127.0.0.1 kubernetes.docker.internal

192.168.56.100 hadoop100
192.168.56.101 hadoop101
192.168.56.102 hadoop102
192.168.56.103 hadoop103
192.168.56.104 hadoop104
# Ende des Abschnitts

2. Kopieren Sie die virtuelle Maschine

Dann müssen wir die zuletzt konfigurierte virtuelle Maschine auf mehrere Maschinen kopieren, um einen Cluster zu bilden. Schließen Sie zunächst die virtuelle Maschine, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Kopieren“. Das folgende Dialogfeld wird angezeigt. Ich habe mich dafür entschieden, die Mac-Adressen aller Netzwerkkarten neu zu generieren, um eine völlig andere Computerumgebung zu simulieren.

3. Ändern Sie den HOST und die IP-Adresse jedes Computers

Denken Sie nach dem Kopieren daran, sich bei der virtuellen Maschine anzumelden und die statische IP-Adresse gemäß der oben genannten Methode zu ändern, um IP-Adresskonflikte zu vermeiden.

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

Darüber hinaus empfiehlt es sich, den HOSTNAMEN in jeder virtuellen Linux-Maschine festzulegen, damit diese virtuellen Maschinen den Hostnamen bei der Kommunikation untereinander verwenden können. Sie müssen die Hostnamen mehrerer Maschinen einzeln festlegen.

[root@hadoop101 ~]# hostnamectl set-hostname hadoop107
[root@hadoop101 ~]# Hostname
hadoop107

4. xcall ermöglicht Serverclustern die gleichzeitige Ausführung von Befehlen

Da wir mehrere Maschinen gleichzeitig haben, wäre es mühsam, wenn wir uns einzeln anmelden würden, um zu arbeiten. Wir können ein Shell-Skript schreiben und in Zukunft Befehle von einer davon aus ausgeben, sodass die Ausführung für alle Maschinen viel bequemer ist. Hier ist ein Beispiel. Ich habe fünf virtuelle Maschinen: hadopp100, hadopp101, hadopp102, hadopp103 und hadopp104. Ich hoffe, hadopp100 als Bastion nutzen zu können, um die Steuerung aller anderen Maschinen zu vereinheitlichen. Erstellen Sie eine Datei namens xcall in /user/local/bin mit folgendem Inhalt:

berühren Sie /Benutzer/Lokal/bin/xcall

chmod +x /Benutzer/Lokal/bin/xcall

vi/Benutzer/lokal/bin/xcall


#!/bin/bash
Anzahl = $#
wenn((pcount==0));dann
echo keine Argumente;
Ausfahrt;
fi

echo ---------läuft auf localhost--------
$@
für((Host=101;Host<=104;Host++));machen
echo ---------läuft bei hadoop$host-------
ssh hadoop$host $@
Erledigt
~

Beispielsweise verwende ich dieses Xcall-Skript, um den Kennwortnamen auf allen Computern aufzurufen und das aktuelle Verzeichnis anzuzeigen. Anschließend wird zur Ausführung das Kennwort abgefragt.

[root@hadoop100 ~]# xcall pwd
---------wird auf lokalem Host ausgeführt--------
/Wurzel
---------läuft bei hadoop101-------
Passwort von root@hadoop101:
/Wurzel
---------läuft bei hadoop102-------
Passwort von root@hadoop102:
/Wurzel
---------läuft bei hadoop103-------
Passwort von root@hadoop103:
/Wurzel
---------läuft bei hadoop104-------
Passwort von root@hadoop104:
/Wurzel
[root@hadoop100 ~]#

5. scp und rsync

Dann sprechen wir über das SCP-Tool. scp kann Daten zwischen Linux remote kopieren. Wenn Sie das gesamte Verzeichnis kopieren möchten, fügen Sie -r hinzu.

[root@hadoop100 ~]# ls
anaconda-ks.cfg
[root@hadoop100 ~]# scp anaconda-ks.cfg hadoop104:/root/
Passwort von root@hadoop104:
anaconda-ks.cfg 100% 1233 61,1 KB/s 00:00
[root@hadoop100 ~]#

Sie können auch rsync verwenden, scp kopiert die Daten unabhängig von der Situation auf dem Zielcomputer. Rsync vergleicht die Dateien zunächst und kopiert sie dann, wenn sie sich geändert haben. Wenn die Datei, die Sie remote kopieren möchten, groß ist, ist die Verwendung von rsync schneller. Leider ist rsync unter centOS nicht standardmäßig installiert und muss zuerst installiert werden. Im vorherigen Artikel kann unsere virtuelle Maschine bereits eine Verbindung zum Internet herstellen, daher ist die Online-Installation ausreichend.

[root@hadoop100 ~]# xcall sudo yum install -y rsync

Synchronisieren Sie beispielsweise das Java SDK auf der Maschine hadoop100 mit 102:

[root@hadoop100 /]# rsync -r /opt/modules/jdk1.8.0_121/ hadoop102:/opt/modules/jdk1.8.0_121/

OK, nachdem nun die grundlegenden Tools und die Clusterumgebung eingerichtet sind, können Sie mit dem Erlernen von Hadoop beginnen.

Zusammenfassen

Oben ist die Methode, die ich Ihnen vorgestellt habe, um mit VirtualBox einen Linux-Cluster zu simulieren. Ich hoffe, sie wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Implementierung des Aufbaus eines Kubernetes-Clusters mit VirtualBox+Ubuntu16
  • Lernen Sie, einen lokalen Kubernetes-Cluster in VirtualBox zu erstellen.

<<:  Installations-Tutorial zur dekomprimierten Version von MySQL 5.7.23 mit Bildern und Text

>>:  WeChat-Applet implementiert ein einfaches Würfelspiel

Artikel empfehlen

React-Diagramm Serialisierung JSON Interpretation Fallanalyse

Das Ziel dieses Dokuments ist es, die JSON-Serial...

Erläuterung des Beispiels für die automatische Anmeldung unter Linux

Es gibt viele Skripte im Internet, die expect ver...

Ubuntu16.04 erstellt eine php5.6-Webserverumgebung

Ubuntu 16.04 installiert standardmäßig die PHP7.0...

Gründe für den plötzlichen Leistungsabfall bei MySQL

Manchmal kann es vorkommen, dass eine SQL-Anweisu...

Die HTML-Tag-ID kann eine Variable sein

<table id=" <%=var1%>">, der...

So verstehen Sie SELinux unter Linux

Inhaltsverzeichnis 1. Einführung in SELinux 2. Gr...

Installieren Sie Zookeeper unter Docker (Standalone und Cluster).

Nachdem wir Docker gestartet haben, schauen wir u...

Was ist Flex und ein ausführliches Tutorial zur Flex-Layout-Syntax

Flexibles Layout Flex ist die Abkürzung für Flexi...

So berechnen Sie die Bildrate FPS von Webanimationen

Inhaltsverzeichnis Standards für flüssige Animati...

Detaillierte Erklärung der GaussDB zur MySQL-Leistungsoptimierung

Inhaltsverzeichnis Hintergrund Inspiration kommt ...

MySQL-Indexoptimierung: Detaillierte Einführung in die Paging-Erkundung

Inhaltsverzeichnis MySQL-Indexoptimierung – Pagin...

Detaillierte Erklärung zu sinnvollen Einstellungen des MySQL sql_mode

Sinnvolle Einstellung des MySQL sql_mode sql_mode...