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

So verwenden Sie JSX in Vue

Was ist JSX JSX ist eine Syntaxerweiterung von Ja...

30 kostenlose hochwertige englische Ribbon-Schriftarten

30 kostenlose englische Ribbon-Schriftarten in hoh...

Dieser Artikel hilft Ihnen, den Lebenszyklus in Vue zu verstehen

Inhaltsverzeichnis 1. vorErstellen & erstellt...

WeChat-Applet-Picker - Mehrspalten-Selektor (Modus = MultiSelector)

Inhaltsverzeichnis 1. Wirkungsdiagramm (mehrere S...

So kapseln Sie die Tabellenkomponente von Vue Element

Beim Kapseln von Vue-Komponenten werde ich weiter...

Vue implementiert eine kleine Formularvalidierungsfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Vergleichende Analyse der Hochverfügbarkeitslösungen von Oracle und MySQL

Was die Hochverfügbarkeitslösungen für Oracle und...

WeChat-Applet implementiert Suchfunktion und springt zur Suchergebnisseite

Suchseite: search.wxml-Seite: <view class=&quo...

Verwenden von HTML+CSS zum Verfolgen von Mausbewegungen

Da Benutzer immer datenschutzbewusster werden und...

Manjaro-Installation CUDA-Implementierungs-Tutorial-Analyse

Ende letzten Jahres habe ich im Dualsystem meines...

Docker verpackt das lokale Image und stellt es auf anderen Maschinen wieder her

1. Verwenden Sie Docker-Images, um alle Image-Dat...

Wie man die Idee von Vue nutzt, um einen Speicher zu kapseln

Inhaltsverzeichnis Hintergrund Funktion Zweck Ide...

Eine kurze Analyse des Kimono-Memo-Problems

Heute musste ich nach dem Neustart des Spiels fes...