Cloudera Manager installeren en configureren op CentOS/RHEL 7 - Deel 3
In dit artikel hebben we het stapsgewijze proces beschreven voor het installeren van Cloudera Manager volgens industriële praktijken. In deel 2 hebben we de vereisten voor Cloudera al doorgenomen, zorg ervoor dat alle servers perfect zijn voorbereid.
Vereisten
- Best practices voor het implementeren van Hadoop Server op CentOS/RHEL 7 – Deel 1
- Hadoop-vereisten en beveiliging instellen – Deel 2
Hier hebben we een cluster met 5 knooppunten, waar 2 meesters en 3 werkers zijn. Ik heb 5 AWS EC2-instanties gebruikt om de installatieprocedure te demonstreren. Ik heb die 5 servers een naam gegeven, zoals hieronder.
master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net
Cloudera Manager is een beheer- en monitoringtool voor de gehele CDH. Wij beheerders noemen het meestal een beheertool voor Cloudera Hadoop. Met behulp van deze tool kunnen we configuratiewijzigingen implementeren, monitoren, controleren en aanbrengen. Dit is zeer essentieel om het hele cluster te kunnen beheren.
Hieronder vindt u de belangrijke toepassingen van Cloudera Manager.
- Implementeer en configureer Hadoop-clusters op een geautomatiseerde manier.
- Bewaak de clusterstatus
- Configureer waarschuwingen
- Probleemoplossen
- Rapportage
- Clustergebruiksrapport maken
- Resources dynamisch configureren
Stap 1: Apache Web Server installeren op CentOS
We gaan de master1
gebruiken als webserver voor Cloudera-repository's. Bovendien is Cloudera Manager WebUI, dus we moeten Apache geïnstalleerd hebben. Volg de onderstaande stappen om de apache-webserver te installeren.
yum -y install httpd
Zodra httpd is geïnstalleerd, start u het en schakelt u het in, zodat het tijdens het opstarten wordt gestart.
systemctl start httpd
systemctl enable httpd
Controleer na het starten van httpd de status.
systemctl status httpd
Nadat je httpd hebt gestart, open je een browser in je lokale systeem en plak je het IP-adres van master1
in de zoekbalk. Je zou deze testpagina moeten krijgen om er zeker van te zijn dat httpd goed werkt.
Stap 2: Configureer lokale DNS om IP en hostnaam op te lossen
We hebben een DNS-server nodig of configureren /etc/hosts om IP en hostnaam om te zetten. Hier zijn we /etc/hosts aan het configureren, maar in realtime zal er een speciale DNS-server beschikbaar zijn voor de productieomgeving.
Volg de onderstaande stappen om een invoer in te voeren voor al uw servers in /etc/hosts.
vi /etc/hosts
Dit moet op alle servers worden geconfigureerd.
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
Stap 3: Configureer SSH wachtwoordloos inloggen
Cloudera Manager wordt in deze demonstratie geïnstalleerd op master1
. We moeten wachtwoordloze ssh configureren van master1
naar alle andere knooppunten. Omdat de Cloudera Manager ssh zal gebruiken om alle andere knooppunten te communiceren om pakketten te installeren.
Volg de onderstaande stappen om wachtwoordloze ssh van master1
naar alle overige servers te configureren. We hebben een gebruiker ‘tecmint’ nodig om verder te gaan.
Maak een gebruiker ‘tecmint‘ voor alle 4 de servers met behulp van de opdracht useradd, zoals weergegeven.
useradd -m tecmint
Om het root-privilege aan de gebruiker ‘tecmint‘ te geven, voegt u de onderstaande regel toe aan het bestand /etc/sudoers. Je kunt deze regel onder root toevoegen, zoals aangegeven in de schermafbeelding.
tecmint ALL=(ALL) ALL
Schakel over naar gebruiker ‘tecmint‘ en maak een ssh-sleutel in de master1
met behulp van het onderstaande commando.
sudo su tecmint
ssh-keygen
Kopieer nu de gemaakte sleutel naar alle vier de servers met behulp van de opdracht ssh-copy-id, zoals weergegeven.
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
Nu zou je in staat moeten zijn om vanaf master1
naar alle overige servers te sshten zonder wachtwoord, zoals weergegeven.
ssh master2
ssh worker1
ssh worker2
ssh worker3
Stap 4: Cloudera Manager installeren en configureren
We kunnen de repository van leverancier (Cloudera) gebruiken om alle pakketten te installeren met behulp van de pakketbeheertools in RHEL/CentOS. In realtime is het creëren van onze eigen repository de beste praktijk, omdat we mogelijk geen internettoegang hebben op de productieservers.
Hier gaan we de Cloudera Manager 6.3.1 release installeren. Omdat we master1
als reposerver gaan gebruiken, downloaden we de pakketten via het hieronder genoemde pad.
Maak de onderstaande mappen aan op de master1
-server.
sudo mkdir -p /var/www/html/cloudera-repos/cm6
We kunnen de wget-tool gebruiken om pakketten via http te downloaden. Installeer dus wget met behulp van de onderstaande opdracht.
sudo yum -y install wget
Download vervolgens het Cloudera Manager tar-bestand met behulp van de volgende wget-opdracht.
wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz
Pak het tar-bestand uit in /var/www/html/cloudera-repos/cm6, we hebben master1
al als webserver gemaakt door http te installeren en we hebben het in de browser getest.
sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1
Controleer nu of alle Cloudera-rpm-bestanden zich in de map /var/www/html/cloudera-repos/cm6/RPMS/x86_64 bevinden.
cd /var/www/html/cloudera-repos/cm6
ll
Maak /etc/yum.repos.d/cloudera-manager.repo bestanden op alle servers in de clusterhosts met de volgende inhoud, hier is master1
(65.0.101.148) de webserver.
[cloudera-repo]
name=cloudera-manager
baseurl=http:///cloudera-repos/cm6/
enabled=1
gpgcheck=0
Nu de repository is toegevoegd, voert u de onderstaande opdracht uit om de ingeschakelde repository's te bekijken.
yum repolist
Voer de onderstaande opdracht uit om alle beschikbare Cloudera-gerelateerde pakketten in de repository te bekijken.
yum list available | grep cloudera*
Installeer 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
Voer de onderstaande opdracht uit om alle geïnstalleerde Cloudera-pakketten te bekijken.
yum list installed | grep cloudera*
Voer de onderstaande opdracht uit om de cloudera-scm-server-db te starten. Dit is een onderliggende database waarin metagegevens van Cloudera Manager en andere services worden opgeslagen.
Standaard komt Cloudera met postgre-sql dat is ingebed in Cloudera Manager. We installeren de ingebouwde versie in een realtime externe database die kan worden gebruikt. Dit kan Oracle, MySQL of PostgreSQL zijn.
sudo systemctl start cloudera-scm-server-db
Voer de onderstaande opdracht uit om de status van de database te controleren.
sudo systemctl status cloudera-scm-server-db
Configureer de db.properties voor de Cloudera Manager-server.
vi /etc/cloudera-scm-server/db.properties
Configureer de onderstaande waarde EMBEDDED om Cloudera Manager de Embedded Database te laten gebruiken.
com.cloudera.cmf.db.setupType=EMBEDDED
Voer de onderstaande opdracht uit om de Cloudera Manager-server te starten.
sudo systemctl start cloudera-scm-server
Voer de onderstaande opdracht uit om de status van de Cloudera Manager-server te controleren.
sudo systemctl status cloudera-scm-server
Voer de onderstaande opdracht uit om de Cloudera Manager-agent te starten en te controleren.
sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent
Zodra de Cloudera Manager Server goed werkt, kunt u de WebUI (inlogpagina) in de browser bekijken met behulp van het IP-adres en poortnummer 7180, wat het poortnummer is van Cloudera-manager.
https://65.0.101.148:7180
Samenvatting
In dit artikel hebben we het stapsgewijze proces gezien voor het installeren van Cloudera Manager op CentOS 7. De CDH en andere service-installaties zullen we in het volgende artikel zien.