Einrichten von Hadoop -Voraussetzungen und Sicherheitshärten - Teil 2
- 2506
- 594
- Marleen Weight
Hadoop -Clustergebäude ist ein Schritt -für -Schritt. und in Rechenzentre platzieren. Dann müssen wir das Betriebssystem installieren, es kann mit Kickstart in der Echtzeitumgebung erfolgen, wenn die Clustergröße groß ist. Sobald das Betriebssystem installiert wurde, müssen wir den Server für die Hadoop -Installation vorbereiten und die Server gemäß den Sicherheitsrichtlinien der Organisation vorbereiten.
Anforderungen
- Best Practices für die Bereitstellung des Hadoop -Servers auf CentOS/RHEL 7 - Teil 1
In diesem Artikel werden wir Voraussetzungen auf OS-Ebene durchlaufen, die von empfohlen werden Cloudera. Außerdem haben wir einige wichtige Sicherheitshärtungstipps gemäß dem hervorgehoben CIS -Benchmark Für Produktionsserver. Diese Sicherheitshärtung kann je nach Anforderungen unterschiedlich sein.
Cloudera Hadoop-Voraussetzungen einrichten
Hier werden wir die Voraussetzungen auf OS-Ebene besprechen, die von empfohlen werden Cloudera.
1. Deaktivieren Sie transparente riesige Seite
Standardmäßig, Transparent riesige Seite (Thp) ist in Linux -Maschinen aktiviert, die schlecht interagieren mit Hadoop Workloads und es verschlechtert die Gesamtleistung von Cluster. Daher müssen wir dies deaktivieren, um mithilfe des folgenden Echo -Befehls eine optimale Leistung zu erzielen.
# Echo Never>/sys/kernel/mm/transparent_hugepage/enabled # echo Never>/sys/kernel/mm/transparent_hugepage/DefragDeaktivieren Sie transparente riesige Seite
2. VM -Swappiness ändern
Standardmäßig die VM.Tupfer Wert ist 30 oder 60 Für die meisten Linux -Maschinen.
# sysctl vm.TupferÜberprüfen Sie den VM -Swappiness
Einen höheren Wert von haben Tupfer wird nicht empfohlen für Hadoop Server, weil es eine lange Müllsammlung verursachen kann. Und mit dem höheren Swappinesswert können Daten zwischengespeichert werden, um den Speicher auszutauschen, selbst wenn wir über genügend Speicher verfügen. Senken Sie den Swappinesswert können physischen Speicher erstellen, um mehr Speicherseiten zu enthalten.
# sysctl vm.Swappiness = 1
Oder Sie können die Datei öffnen /etc/sysctl.Conf und fügen Sie hinzu "VM.Swappiness = 1 "
Am Ende.
VM.Swappiness = 1
3. Deaktivieren Sie die Firewall
Jeder Hadoop -Server hat seine eigene Verantwortung für mehrere Dienste (Daemons) darauf laufen. Alle Server werden häufig für verschiedene Zwecke miteinander kommunizieren.
Zum Beispiel, Datanode sendet einen Herzschlag für alle 3 Sekunden an Namenode Namenode wird sicherstellen, dass die Datanode ist am Leben.
Wenn die gesamte Kommunikation zwischen den Daemons über die Firewall hinweg verschiedene Server auftritt, wird dies für Hadoop eine zusätzliche Belastung sein. Es ist also Best Practice, die Firewall auf den einzelnen Servern in Cluster zu deaktivieren.
# Iptables-Save> ~/Firewall.Regeln # SystemCTL STOP Firewalld # SystemCTL Deaktivieren Sie die FirewallDeaktivieren Sie die Firewall
4. Deaktivieren Sie Selinux
Wenn wir die behalten Selinux Aktiviert wird es zu Problemen während der Installation verursacht Hadoop. Als Hadoop ist ein Cluster -Computing, Cloudera Manager Erreichen Sie alle Server im Cluster, um Hadoop und seine Dienste zu installieren, und erstellt bei Bedarf erforderliche Serviceverzeichnisse.
Wenn Selinux aktiviert ist, kann Cloudera Manager die Installation nicht so regieren, wie sie möchte. Das Aktivieren von SELinux ist also ein Hindernis für Hadoop und es wird Leistungsprobleme verursachen.
Sie können den Status von überprüfen Selinux Durch die Verwendung des folgenden Befehls.
# SestatusÜberprüfen Sie den Selinux -Status
Öffnen Sie nun die /etc/selinux/config Datei und Deaktivieren Selinux wie gezeigt.
Selinux = deaktiviertDeaktivieren Sie Selinux
Nach dem Deaktivieren von Selinux müssen Sie das System neu starten, um es aktiv zu machen.
# Neustart
5. Installieren Sie NTP -Dienste
In Hadoop -Cluster, Alle Server sollten sein Zeit synchronisiert Um zu vermeiden, dass Taktversetzfehler. Der Rhel/Centos 7 hat Chronyd Eingebaut für die Netzwerkuhr/Zeitsynchronisation, Cloudera empfiehlt die Verwendung NTP.
Wir müssen installieren NTP und konfigurieren Sie es. Nach der Installation stoppen Sie 'Chronyd'und deaktivieren. Denn wenn ein Server beides hat NTPD Und Chronyd Laufen wird Cloudera Manager in Betracht ziehen Chronyd Für die Zeitsynchronisation wirft sie einen Fehler auf, auch wenn wir über NTP synchronisiert sind.
# yum -y -y Installation NTP # SystemCTL Start NTPD # SystemCTL Aktivieren Sie NTPD # SystemCTL Status NTPDÜberprüfen Sie den NTP -Status
6. Chronyd deaktivieren
Wie wir oben erwähnt haben, brauchen wir nicht Chronyd aktiv, wie wir es verwenden NTPD. Überprüfen Sie den Status von Chronyd, Wenn es läuft und deaktiviert wird. Standardmäßig, Chronyd wird gestoppt, es sei denn, bis wir nach der Betriebssysteminstallation beginnen, müssen wir nur für die sicherere Seite deaktivieren.
# Systemctl Status Chronyd # SystemCTL Deaktivieren Sie ChronydChronyd deaktivieren
7. FQDN festlegen (voll qualifizierter Domainname)
Wir müssen die festlegen Hostname mit Fqdn (Voll qualifizierter Domainname). Jeder Server sollte einen eindeutigen kanonischen Namen haben. Um den Hostnamen zu beheben, müssen wir entweder den DNS oder die DNS konfigurieren oder /etc/hosts. Hier werden wir konfigurieren /etc/hosts.
IP -Adresse und FQDN jedes Servers sollten eingegeben werden /etc/hosts von allen Servern. Nur dann Cloudera Manager kann alle Server mit seinem Hostnamen kommunizieren.
# Hostnamectl Set-Hostname Master1.Tecmint.com
Konfigurieren Sie als Nächstes /etc/hosts Datei. Zum Beispiel: - Wenn wir 5 Knotencluster mit 2 Master und 3 Arbeitern haben, können wir die konfigurieren /etc/hosts wie nachstehend.
Konfigurieren Sie Hostnamen8. Installation eines Java -Entwicklungskits (JDK)
Als Hadoop es besteht aus Java, Alle Gastgeber sollten haben Java installiert mit der entsprechenden Version. Hier werden wir haben OpenJDK. Standardmäßig, Cloudera Manager wird installieren Oraclejdk Aber Cloudera empfiehlt OpenJDK.
# yum -y install Java -1.8.0-Openjdk-Devel # Java-VerssionÜberprüfen Sie die Java -Version
Hadoop -Sicherheit und -härtung
In diesem Abschnitt werden wir die Sicherheit der Hadoop -Umwelt verhärten…
1. Automounting deaktivieren
Automounting 'Autofs'Ermöglicht die automatische Montage von physischen Geräten wie USB, CD/DVD. Der Benutzer mit physischem Zugriff kann den USB oder jedes Speichermedium für den Zugriff auf Dateneinfügungsdaten anschließen. Verwenden Sie die folgenden Befehle, um zu überprüfen, ob es deaktiviert ist oder nicht, wenn Sie es nicht deaktivieren.
# SystemCTL Deaktivieren autofs # SystemCTL IS-fähige AutoFsAutomounting deaktivieren
2. Sicherheitseinstellungen sicherstellen
Der roden Die Konfigurationsdatei enthält kritische Informationen zu Starteinstellungen und Anmeldeinformationen zum Entsperren von Startoptionen. Die GRUB -Konfigurationsdatei 'roden.CFG' befindet sich /boot/grub2 und es wurde miteinander verbunden als /etc/grub2.Conf und sicherstellen roden.CFG befindet sich im Besitz des Root Users.
# cd /boot /grub2Überprüfen Sie Grub -Dateien
Verwenden Sie den folgenden Befehl, um zu überprüfen Uid Und Gid sind beide 0/root Und 'Gruppe' oder 'andere'sollte keine Erlaubnis haben.
# STAT/SOTOR/GRUB2/GRUB.CFGÜberprüfen Sie die GRUB -Dateistatus
Verwenden Sie den folgenden Befehl, um Berechtigungen von anderen und Gruppe zu entfernen.
# chmod og-rwx/boot/grub2/grub.CFGEntfernen Sie die Erlaubnis der GRUB -Datei
3. Setzen Sie das Bootloader -Passwort
Diese Einstellung vermeidet andere nicht autorisierte Neustart des Servers. dh ein Passwort zum Neustart des Servers benötigt. Wenn es nicht festgelegt ist, können nicht autorisierte Benutzer den Server booten und Änderungen an den Boot -Partitionen vornehmen.
Verwenden Sie den folgenden Befehl, um das Passwort festzulegen.
# GRUB2-MKPASSWD-PBKDF2Erstellen Sie ein Bootloader -Passwort
Fügen Sie das oben erstellte Passwort ein /etc/grub.D/01_Users Datei.
Fügen Sie der Datei Grub -Passwort hinzuErstellen Sie als nächstes die GRUB-Konfigurationsdatei erneut.
# grub2-mkconfig>/boot/grub2/grub.CFGGenerieren Sie die GRUB -Konfiguration
4. Entfernen Sie das Prelink -Werkzeug
Prelink ist ein Softwareprogramm, das die Verwundbarkeit in einem Server erhöhen kann, wenn böswillige Benutzer gemeinsame Bibliotheken wie z libc.
Verwenden Sie den folgenden Befehl, um es zu entfernen.
# Yum Prelink entfernen
5. Deaktivieren Sie unerwünschte Dienste
Wir sollten in Betracht ziehen, einige Dienste/Protokolle zu deaktivieren, um potenzielle Angriffe zu vermeiden.
# Systemctl Deaktivieren
- Netzwerkdienste deaktivieren - Stellen Sie sicher. Diese Netzwerkdienste dienen zum Debuggen und Testen. Es wird empfohlen, zu deaktivieren, um den Remoteangriff minimieren zu können.
- Deaktivieren Sie TFTP & FTP - Sowohl das Protokoll unterstützt die Vertraulichkeit der Daten oder Anmeldeinformationen nicht. Es ist die beste Praxis, nicht auf dem Server zu haben, es sei denn, dies ist explizit erforderlich. Meistens werden diese Protokolle auf Dateiserver installiert und aktiviert.
- Deaktivieren Sie DHCP - DHCP ist das Protokoll, das die IP -Adresse dynamisch zuordnet. Es wird empfohlen, zu deaktivieren, es sei denn, es handelt sich um einen DHCP -Server, um potenzielle Angriffe zu vermeiden.
- Deaktivieren Sie http - HTTP ist das Protokoll, mit dem Webinhalte gehostet werden können. Abgesehen von Master-/Management -Servern (wo Webui von Diensten wie CM, Hue usw. konfiguriert werden soll) können wir HTTP auf anderen Arbeiterknoten deaktivieren, die die potenziellen Angriffe vermeiden können.
Zusammenfassung
Wir haben die Servervorbereitung durchlaufen, die besteht Cloudera Hadoop-Voraussetzungen und einige Sicherheitshärten. Voraussetzungen der OS-Ebene, die von Cloudera definiert wurden, sind für die reibungslose Installation von Hadoop obligatorisch. Normalerweise wird ein Härtungsskript unter Verwendung des CIS-Benchmarks vorbereitet und zur Prüfung und Behebung der Nichteinhaltung der Echtzeit verwendet.
In einer minimalen Installation von CentOS/Rhel 7, Es werden nur grundlegende Funktionen/Software installiert. Dies vermeidet unerwünschtes Risiko und Schwachstellen. Auch wenn es sich um eine minimale Installation handelt, werden vor der Installation von Hadoop auch nach dem Erstellen des Clusters mehrere Iterationen der Sicherheitsprüfungen durchgeführt, bevor der Cluster in Betrieb/Produktion verschoben wird.
- « Ubuntu 20.10 Veröffentlicht, jetzt zum Download verfügbar
- So installieren Sie Hadoop -Single -Knoten -Cluster (Pseudonode) auf CentOS 7 »