Website-Suche

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.