So installieren und konfigurieren Sie Cloudera Manager unter CentOS/RHEL 7 – Teil 3
In diesem Artikel haben wir den Schritt-für-Schritt-Prozess zur Installation von Cloudera Manager gemäß industrieller Praxis beschrieben. In Teil 2 sind wir bereits die Cloudera-Voraussetzungen durchgegangen. Stellen Sie sicher, dass alle Server perfekt vorbereitet sind.
Anforderungen
- Best Practices für die Bereitstellung von Hadoop Server unter CentOS/RHEL 7 – Teil 1
- Einrichten von Hadoop-Voraussetzungen und Sicherheitshärtung – Teil 2
Hier haben wir einen 5-Knoten-Cluster mit 2 Mastern und 3 Workern. Ich habe 5 AWS EC2-Instanzen verwendet, um den Installationsvorgang zu demonstrieren. Ich habe diese 5 Server wie folgt benannt.
master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net
Cloudera Manager ist ein Verwaltungs- und Überwachungstool für das gesamte CDH. Wir Administratoren nennen es normalerweise ein Verwaltungstool für Cloudera Hadoop. Mit diesem Tool können wir Konfigurationsänderungen bereitstellen, überwachen, steuern und vornehmen. Dies ist für die Verwaltung des gesamten Clusters von entscheidender Bedeutung.
Nachfolgend sind die wichtigen Verwendungsmöglichkeiten von Cloudera Manager aufgeführt.
- Stellen Sie Hadoop-Cluster automatisiert bereit und konfigurieren Sie sie.
- Überwachen Sie den Clusterzustand
- Konfigurieren Sie Benachrichtigungen
- Fehlerbehebung
- Berichterstattung
- Erstellen eines Cluster-Auslastungsberichts
- Ressourcen dynamisch konfigurieren
Schritt 1: Installation des Apache-Webservers unter CentOS
Wir werden master1
als Webserver für Cloudera-Repositorys verwenden. Außerdem ist Cloudera Manager eine WebUI, daher muss Apache installiert sein. Befolgen Sie die folgenden Schritte, um den Apache-Webserver zu installieren.
yum -y install httpd
Sobald httpd installiert ist, starten Sie es und aktivieren Sie es, damit es beim Booten gestartet wird.
systemctl start httpd
systemctl enable httpd
Stellen Sie nach dem Start von httpd den Status sicher.
systemctl status httpd
Nachdem Sie httpd gestartet haben, öffnen Sie einen Browser in Ihrem lokalen System und geben Sie die IP-Adresse von master1
in die Suchleiste ein. Sie sollten diese Testseite aufrufen, um sicherzustellen, dass httpd einwandfrei läuft.
Schritt 2: Konfigurieren Sie lokales DNS, um IP und Hostnamen aufzulösen
Wir benötigen einen DNS-Server oder müssen /etc/hosts konfigurieren, um IP und Hostnamen aufzulösen. Hier konfigurieren wir /etc/hosts, aber in Echtzeit wird ein dedizierter DNS-Server für die Produktionsumgebung vorhanden sein.
Führen Sie die folgenden Schritte aus, um einen Eintrag für alle Ihre Server in /etc/hosts zu erstellen.
vi /etc/hosts
Dies sollte auf allen Servern konfiguriert sein.
13.235.27.144 master1.linux-console.net master1
13.235.135.170 master2.linux-console.net master2
15.206.167.94 worker1.linux-console.net worker1
13.232.173.158 worker2.linux-console.net worker2
65.0.182.222 worker3.linux-console.net worker3
Schritt 3: Konfigurieren Sie die passwortlose SSH-Anmeldung
In dieser Demonstration wird Cloudera Manager auf master1
installiert. Wir müssen passwortloses SSH von master1
zu allen anderen Knoten konfigurieren. Weil der Cloudera Manager SSH verwendet, um alle anderen Knoten zur Installation von Paketen zu kommunizieren.
Führen Sie die folgenden Schritte aus, um passwortloses SSH von master1
zu allen verbleibenden Servern zu konfigurieren. Wir werden einen Benutzer „tecmint“ haben, um fortzufahren.
Erstellen Sie einen Benutzer „tecmint“ auf allen 4 Servern mit dem Befehl „useradd“, wie gezeigt.
useradd -m tecmint
Um dem Benutzer „tecmint“ die Root-Berechtigung zu erteilen, fügen Sie die folgende Zeile in die Datei /etc/sudoers ein. Sie können diese Zeile unter root hinzufügen, wie im Screenshot gezeigt.
tecmint ALL=(ALL) ALL
Wechseln Sie zum Benutzer „tecmint“ und erstellen Sie mit dem folgenden Befehl einen SSH-Schlüssel im master1
.
sudo su tecmint
ssh-keygen
Kopieren Sie nun den erstellten Schlüssel auf alle 4 Server, indem Sie wie gezeigt den Befehl ssh-copy-id verwenden.
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
Jetzt sollten Sie in der Lage sein, SSH von master1
zu den übrigen Servern ohne Passwort durchzuführen, wie gezeigt.
ssh master2
ssh worker1
ssh worker2
ssh worker3
Schritt 4: Cloudera Manager installieren und konfigurieren
Wir können das Repository des Anbieters (Cloudera) verwenden, um alle Pakete mithilfe der Paketverwaltungstools in RHEL/CentOS zu installieren. In Echtzeit ist die Erstellung eines eigenen Repositorys die beste Vorgehensweise, da wir auf den Produktionsservern möglicherweise keinen Internetzugang haben.
Hier werden wir die Version Cloudera Manager 6.3.1 installieren. Da wir master1
als Repo-Server verwenden werden, laden wir die Pakete im unten angegebenen Pfad herunter.
Erstellen Sie die unten genannten Verzeichnisse auf dem Server master1
.
sudo mkdir -p /var/www/html/cloudera-repos/cm6
Wir können das wget-Tool verwenden, um Pakete über http herunterzuladen. Installieren Sie also wget mit dem folgenden Befehl.
sudo yum -y install wget
Laden Sie als Nächstes die TAR-Datei von Cloudera Manager mit dem folgenden wget-Befehl herunter.
wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz
Extrahieren Sie die TAR-Datei nach /var/www/html/cloudera-repos/cm6. Wir haben bereits master1 als Webserver erstellt, indem wir http installiert haben Wir haben es im Browser getestet.
sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1
Überprüfen Sie nun, ob sich alle Cloudera-RPM-Dateien im Verzeichnis /var/www/html/cloudera-repos/cm6/RPMS/x86_64 befinden.
cd /var/www/html/cloudera-repos/cm6
ll
Erstellen Sie /etc/yum.repos.d/cloudera-manager.repo-Dateien auf allen Servern in den Cluster-Hosts mit dem folgenden Inhalt, hier ist master1
(65.0.101.148). Der Webserver.
[cloudera-repo]
name=cloudera-manager
baseurl=http:///cloudera-repos/cm6/
enabled=1
gpgcheck=0
Nachdem das Repository hinzugefügt wurde, führen Sie den folgenden Befehl aus, um die aktivierten Repositorys anzuzeigen.
yum repolist
Führen Sie den folgenden Befehl aus, um alle verfügbaren Cloudera-bezogenen Pakete im Repository anzuzeigen.
yum list available | grep cloudera*
Installieren Sie cloudera-manager-server, cloudera-manager-agent, cloudera-manager-daemons cloudera-manager-server-db-2.
sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server cloudera-manager-server-db-2
Führen Sie den folgenden Befehl aus, um alle installierten Cloudera-Pakete anzuzeigen.
yum list installed | grep cloudera*
Führen Sie den folgenden Befehl aus, um die cloudera-scm-server-db zu starten, die eine zugrunde liegende Datenbank zum Speichern von Cloudera Manager- und anderen Dienstmetadaten ist.
Standardmäßig bringt Cloudera postgre-sql mit, das in den Cloudera Manager eingebettet ist. Wir installieren die eingebettete Version in einer externen Echtzeitdatenbank, die verwendet werden kann. Es kann sich um Oracle, MySQL oder PostgreSQL handeln.
sudo systemctl start cloudera-scm-server-db
Führen Sie den folgenden Befehl aus, um den Status der Datenbank zu überprüfen.
sudo systemctl status cloudera-scm-server-db
Konfigurieren Sie die db.properties für den Cloudera Manager-Server.
vi /etc/cloudera-scm-server/db.properties
Konfigurieren Sie den folgenden Wert als EMBEDDED, damit Cloudera Manager die Embedded Database verwendet.
com.cloudera.cmf.db.setupType=EMBEDDED
Führen Sie den folgenden Befehl aus, um den Cloudera Manager-Server zu starten.
sudo systemctl start cloudera-scm-server
Führen Sie den folgenden Befehl aus, um den Status des Cloudera Manager-Servers zu überprüfen.
sudo systemctl status cloudera-scm-server
Führen Sie den folgenden Befehl aus, um den Cloudera Manager-Agenten zu starten und seinen Status zu überprüfen.
sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent
Sobald der Cloudera Manager Server erfolgreich gestartet ist und ordnungsgemäß läuft, können Sie die WebUI (Anmeldeseite) im Browser unter Verwendung der IP-Adresse und der Portnummer 7180 anzeigen. Dies ist die Portnummer von Cloudera-Manager.
https://65.0.101.148:7180
Zusammenfassung
In diesem Artikel haben wir Schritt für Schritt den Prozess zur Installation von Cloudera Manager auf CentOS 7 gesehen. Wir werden den CDH und andere Serviceinstallationen im nächsten Artikel sehen.