In questo articolo abbiamo descritto la procedura passo passo per installare Cloudera Manager come da prassi industriale. Nella parte 2, abbiamo già esaminato i prerequisiti di Cloudera, assicurati che tutti i server siano preparati perfettamente.
Qui avremo un cluster di 5 nodi in cui 2 master e 3 lavoratori. Ho usato 5 AWS EC2 istanze per dimostrare la procedura di installazione. Ho chiamato quei 5 server come di seguito.
master1.tecmint.com master2.tecmint.com worker1.tecmint.com worker2.tecmint.com worker3.tecmint.com
Gestione Cloudera è uno strumento amministrativo e di monitoraggio per l'intero CDH . Di solito l'amministratore lo chiama uno strumento di gestione per Cloudera Hadoop . Possiamo distribuire, monitorare, controllare e apportare modifiche alla configurazione con l'uso di questo strumento. Questo è molto essenziale per gestire l'intero cluster.
Di seguito sono riportati gli usi importanti di Cloudera Manager.
- Distribuisci e configura i cluster Hadoop in modo automatizzato.
- Monitoraggio dello stato del cluster
- Configura avvisi
- Risoluzione dei problemi
- Segnalazione
- Creazione di un rapporto sull'utilizzo del cluster
- Configurazione dinamica delle risorse
Passaggio 1:installazione di Apache Web Server su CentOS
Useremo il master1
come server web per i repository Cloudera. Inoltre, Cloudera Manager è WebUI, quindi dobbiamo avere Apache installato. Segui i passaggi seguenti per installare il server Web Apache.
# yum -y install httpd
Una volta installato httpd, avvialo e abilitalo in modo che venga avviato all'avvio.
# systemctl start httpd # systemctl enable httpd
Dopo aver avviato httpd, assicurati lo stato.
# systemctl status httpd
Dopo aver avviato httpd, apri un browser nel tuo sistema locale e incolla l'indirizzo IP di master1
nella barra di ricerca, dovresti ottenere questa pagina di prova per assicurarti che httpd funzioni correttamente.
Fase 2:configura il DNS locale per risolvere IP e nome host
Dobbiamo avere un server DNS o configurare /etc/hosts per risolvere IP e nome host. Qui stiamo configurando /etc/hosts , ma in tempo reale sarà presente un server DNS dedicato per l'ambiente di produzione.
Segui i passaggi seguenti per inserire una voce per tutti i tuoi server in /etc/hosts .
# vi /etc/hosts
Questo dovrebbe essere configurato in tutti i server.
13.235.27.144 master1.tecmint.com master1 13.235.135.170 master2.tecmint.com master2 15.206.167.94 worker1.tecmint.com worker1 13.232.173.158 worker2.tecmint.com worker2 65.0.182.222 worker3.tecmint.com worker3
Fase 3:Configura l'accesso senza password SSH
Gestione Cloudera viene installato su master1
in questa dimostrazione. Dobbiamo configurare ssh senza password da master1
a tutti gli altri nodi. Perché Cloudera Manager utilizzerà ssh per comunicare a tutti gli altri nodi per installare i pacchetti.
Segui i passaggi seguenti per configurare ssh senza password da master1
a tutti i server rimanenti. Avremo un utente "tecmint ' per procedere oltre.
Crea un utente "tecmint ' tutti e 4 i server usando il comando useradd come mostrato.
# useradd -m tecmint
Per concedere il privilegio di root all'utente "tecmint ', aggiungi la riga sottostante in /etc/sudoers file. Puoi aggiungere questa riga sotto root come indicato nello screenshot.
tecmint ALL=(ALL) ALL
Passa all'utente "tecmint ' e crea la chiave ssh nel master1
utilizzando il comando seguente.
# sudo su tecmint $ ssh-keygen
Ora copia la chiave creata su tutti e 4 i server utilizzando ssh-copy-id comando come mostrato.
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Ora dovresti essere in grado di eseguire ssh da master1
per rimanere tutti i server senza una password come mostrato.
$ ssh master2 $ ssh worker1 $ ssh worker2 $ ssh worker3
Fase 4:installazione e configurazione di Cloudera Manager
Possiamo usare il fornitore (Cloudera ) repository per installare tutti i pacchetti utilizzando gli strumenti di gestione dei pacchetti in RHEL/CentOS. In tempo reale, creare il nostro repository è la migliore pratica perché potremmo non avere accesso a Internet nei server di produzione.
Qui installeremo Cloudera Manager 6.3.1 pubblicazione. Dal momento che useremo master1
come server repo, stiamo scaricando i pacchetti nel percorso indicato di seguito.
Crea le directory sotto menzionate su master1
server.
$ sudo mkdir -p /var/www/html/cloudera-repos/cm6
Possiamo usare lo strumento wget per scaricare i pacchetti su http. Quindi, installa wget utilizzando il comando seguente.
$ sudo yum -y install wget
Quindi, scarica il file tar di Cloudera Manager utilizzando il seguente comando wget.
$ wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz
Estrai il file tar in /var/www/html/cloudera-repos/cm6 , abbiamo già creato master1
come server web installando http e abbiamo testato sul browser.
$ sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1
Ora verifica che tutti i file rpm di Cloudera siano presenti in /var/www/html/cloudera-repos/cm6/RPMS/x86_64 directory.
$ cd /var/www/html/cloudera-repos/cm6 $ ll
Crea /etc/yum.repos.d/cloudera-manager.repo file su tutti i server negli host del cluster con il seguente contenuto, qui master1
(65.0.101.148) è il server Web.
[cloudera-repo] name=cloudera-manager baseurl=http:///cloudera-repos/cm6/ enabled=1 gpgcheck=0
Ora il repository è stato aggiunto, esegui il comando seguente per visualizzare i repository abilitati.
$ yum repolist
Esegui il comando seguente per visualizzare tutti i pacchetti correlati a Cloudera disponibili nel repository.
$ yum list available | grep cloudera*
Installa 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
Esegui il comando seguente per visualizzare tutti i pacchetti Cloudera installati.
$ yum list installed | grep cloudera*
Esegui il comando seguente per avviare cloudera-scm-server-db che è un database sottostante in cui archiviare Cloudera Manager e altri metadati dei servizi.
Per impostazione predefinita, Cloudera sta arrivando con postgre-sql che è incorporato in Cloudera Manager . Stiamo installando quello embedded, in un database esterno in tempo reale che può essere utilizzato. Può essere Oracle , MySQL, o PostgreSQL .
$ sudo systemctl start cloudera-scm-server-db
Esegui il comando seguente per controllare lo stato del database.
$ sudo systemctl status cloudera-scm-server-db
Configura le db.properties per Cloudera Manager server.
$ vi /etc/cloudera-scm-server/db.properties
Configura il valore seguente è EMBEDDED per creare Cloudera Manager utilizzare il database incorporato .
com.cloudera.cmf.db.setupType=EMBEDDED
Esegui il comando seguente per avviare il server Cloudera Manager.
$ sudo systemctl start cloudera-scm-server
Esegui il comando seguente per controllare lo stato di Cloudera Manager server.
$ sudo systemctl status cloudera-scm-server
Esegui il comando seguente per avviare e controllare lo stato di Cloudera Manager agente.
$ sudo systemctl start cloudera-scm-agent $ sudo systemctl status cloudera-scm-agent
Una volta che il Server Cloudera Manager correttamente funzionante e funzionante, puoi visualizzare la WebUI (pagina di accesso) nel browser utilizzando l'indirizzo IP e il numero di porta 7180 che è il numero di porta di Cloudera Manager .
https://65.0.101.148:7180
Riepilogo
In questo articolo, abbiamo visto la procedura passo passo per l'installazione di Cloudera Manager su CentOS 7 . Vedremo il CDH e altre installazioni di servizi nel prossimo articolo.