Sådan installeres og konfigureres Cloudera Manager på CentOS / RHEL 7 - Del 3
I denne artikel beskrev vi trin for trin proces til installation af Cloudera Manager i henhold til industriel praksis. I del 2 har vi allerede gennemgået Cloudera-forudsætningerne. Sørg for, at alle serverne er klargjort perfekt.
- Best Practices for Deploying Hadoop Server on CentOS/RHEL 7 – Part 1
- Setting Up Hadoop Pre-requisites and Security Hardening – Part 2
Her skal vi have 5 knudepunkter, hvor 2 mestre og 3 arbejdere. Jeg har brugt 5 AWS EC2-forekomster til at demonstrere installationsproceduren. Jeg har navngivet disse 5 servere som nedenfor.
master1.linux-console.net master2.linux-console.net worker1.linux-console.net worker2.linux-console.net worker3.linux-console.net
Cloudera Manager er et administrativt og overvågningsværktøj til hele CDH. Vi admin kalder det normalt et styringsværktøj for Cloudera Hadoop. Vi kan implementere, overvåge, kontrollere og foretage konfigurationsændringer ved hjælp af dette værktøj. Dette er meget vigtigt for at styre hele klyngen.
Nedenfor er de vigtige anvendelser af Cloudera Manager.
- Deploy and configure Hadoop clusters in an automated way.
- Monitor cluster health
- Configure alerts
- Troubleshooting
- Reporting
- Making Cluster Utilization Report
- Configuring Resources dynamically
Trin 1: Installation af Apache-webserver på CentOS
Vi skal bruge master1
som en webserver til Cloudera-arkiver. Cloudera Manager er også WebUI, så vi skal have Apache installeret. Følg nedenstående trin for at installere apache-webserveren.
# yum -y install httpd
Når du har installeret httpd, skal du starte den og aktivere, så den startes ved opstart.
# systemctl start httpd # systemctl enable httpd
Efter start af httpd skal du sikre status.
# systemctl status httpd
Når du har startet httpd, skal du åbne en browser i dit lokale system og indsætte IP-adressen til master1
i søgefeltet. Du skal få denne testside for at sikre, at httpd kører fint.
Trin 2: Konfigurer lokal DNS til at løse IP og værtsnavn
Vi skal have en DNS-server eller konfigurere/etc/hosts til at løse IP og værtsnavn. Her konfigurerer vi/etc/hosts, men i realtid vil en dedikeret DNS-server være der for produktionsmiljøet.
Følg nedenstående trin for at oprette en post for alle dine servere i/etc/hosts.
# vi /etc/hosts
Dette skal konfigureres på alle serverne.
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
Trin 3: Konfigurer SSH adgangskodeløst login
Cloudera Manager installeres på master1
i denne demonstration. Vi skal konfigurere adgangskodeløs ssh fra master1
til alle andre noder. Fordi Cloudera Manager bruger ssh til at kommunikere alle andre noder til at installere pakker.
Følg nedenstående trin for at konfigurere adgangskodeløs ssh fra master1
til alle resterende servere. Vi vil have en bruger 'tecmint' til at gå videre.
Opret en bruger 'tecmint' alle 4 servere ved hjælp af brugeradd-kommandoen som vist.
# useradd -m tecmint
For at give brugeren 'tecmint' rodprivilegiet, skal du tilføje nedenstående linje i/etc/sudoers-filen. Du kan tilføje denne linje under rod som angivet i skærmbilledet.
tecmint ALL=(ALL) ALL
Skift til brugerens 'tecmint', og opret ssh-nøgle i master1
ved hjælp af nedenstående kommando.
# sudo su tecmint $ ssh-keygen
Kopier nu den oprettede nøgle til alle 4 servere ved hjælp af kommandoen ssh-copy-id som vist.
$ 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 skal du være i stand til at ssh fra master1
til resterende alle servere uden en adgangskode som vist.
$ ssh master2 $ ssh worker1 $ ssh worker2 $ ssh worker3
Trin 4: Installation og konfiguration af Cloudera Manager
Vi kan bruge leverandørens (Cloudera) lager til at installere alle pakkerne ved hjælp af pakkehåndteringsværktøjerne i RHEL/CentOS. I realtid er det den bedste praksis at oprette vores eget arkiv, fordi vi muligvis ikke har internetadgang i produktionsserverne.
Her skal vi installere Cloudera Manager 6.3.1-udgivelse. Da vi skal bruge master1
som reposerveren, downloader vi pakkerne i nedenstående sti.
Opret nedenstående kataloger på master1
-serveren.
$ sudo mkdir -p /var/www/html/cloudera-repos/cm6
Vi kan bruge wget-værktøjet til at downloade pakker via http. Så installer wget ved hjælp af nedenstående kommando.
$ sudo yum -y install wget
Download derefter Cloudera Manager-tarfilen ved hjælp af følgende wget-kommando.
$ wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz
Uddrag tarfilen til/var/www/html/cloudera-repos/cm6, allerede har vi lavet master1
som webserver ved at installere http og vi har testet i browseren.
$ sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1
Kontroller nu, at alle Cloudera rpm-filerne er der i/var/www/html/cloudera-repos/cm6/RPMS/x86_64 biblioteket.
$ cd /var/www/html/cloudera-repos/cm6 $ ll
Opret /etc/yum.repos.d/cloudera-manager.repo filer på alle servere i klyngens værter med følgende indhold, her er master1
(65.0.101.148) webserveren.
[cloudera-repo] name=cloudera-manager baseurl=http:///cloudera-repos/cm6/ enabled=1 gpgcheck=0
Nu er lageret tilføjet, kør kommandoen nedenfor for at se de aktiverede arkiver.
$ yum repolist
Kør nedenstående kommando for at se alle de tilgængelige Cloudera-relaterede pakker i lageret.
$ yum list available | grep cloudera*
Installer cloudera-manager-server, cloudera-manager-agent, cloudera-manager-dæmoner cloudera-manager-server-db-2.
$ sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server cloudera-manager-server-db-2
Kør nedenstående kommando for at se alle de installerede Cloudera-pakker.
$ yum list installed | grep cloudera*
Kør kommandoen nedenfor for at starte cloudera-scm-server-db, som er en underliggende database til lagring af Cloudera Manager og andre metadata for tjenester.
Som standard kommer Cloudera med postgre-sql, som er indlejret i Cloudera Manager. Vi installerer den integrerede i en ekstern database i realtid, der kan bruges. Det kan være Oracle, MySQL eller PostgreSQL.
$ sudo systemctl start cloudera-scm-server-db
Kør nedenstående kommando for at kontrollere status for databasen.
$ sudo systemctl status cloudera-scm-server-db
Konfigurer db.properties til Cloudera Manager-serveren.
$ vi /etc/cloudera-scm-server/db.properties
Konfigurer nedenstående værdi er EMBEDDED for at få Cloudera Manager til at bruge den integrerede database.
com.cloudera.cmf.db.setupType=EMBEDDED
Kør nedenstående kommando for at starte Cloudera Manager-serveren.
$ sudo systemctl start cloudera-scm-server
Kør nedenstående kommando for at kontrollere status for Cloudera Manager-serveren.
$ sudo systemctl status cloudera-scm-server
Kør nedenstående kommando for at starte og kontrollere status for Cloudera Manager-agenten.
$ sudo systemctl start cloudera-scm-agent $ sudo systemctl status cloudera-scm-agent
Når Cloudera Manager-serveren er klar til at køre fint, kan du se WebUI (login-siden) i browseren ved hjælp af IP-adresse og portnummer 7180, som er portnummeret til Cloudera Manager.
https://65.0.101.148:7180
I denne artikel har vi set trin for trin proces til installation af Cloudera Manager på CentOS 7. Vi ser CDH og andre serviceinstallationer i den næste artikel.