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.