Ricerca nel sito web

Come installare e configurare Cloudera Manager su CentOS/RHEL 7 - Parte 3


In questo articolo, abbiamo descritto il processo passo passo per installare Cloudera Manager secondo le pratiche industriali. Nella Parte 2 abbiamo già esaminato i prerequisiti di Cloudera, assicurandoci che tutti i server siano preparati perfettamente.

Requisiti

  • Best practice per la distribuzione del server Hadoop su CentOS/RHEL 7 – Parte 1
  • Configurazione dei prerequisiti Hadoop e rafforzamento della sicurezza – Parte 2

Qui avremo un cluster di 5 nodi in cui 2 master e 3 lavoratori. Ho utilizzato 5 istanze AWS EC2 per dimostrare la procedura di installazione. Ho chiamato questi 5 server come di seguito.

master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net

Cloudera Manager è uno strumento di amministrazione e monitoraggio dell'intero CDH. Gli amministratori di solito lo chiamano uno strumento di gestione per Cloudera Hadoop. Possiamo distribuire, monitorare, controllare e apportare modifiche alla configurazione con l'uso di questo strumento. Questo è davvero 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.
  • Monitorare l'integrità del cluster
  • Configura avvisi
  • Risoluzione dei problemi
  • Segnalazione
  • Creazione di un report sull'utilizzo del cluster
  • Configurazione dinamica delle risorse

Passaggio 1: installazione del server Web Apache su CentOS

Utilizzeremo master1 come server web per i repository Cloudera. Inoltre, Cloudera Manager è WebUI, quindi è necessario che sia installato Apache. Seguire i passaggi seguenti per installare il server Web Apache.

yum -y install httpd

Una volta installato httpd, avviatelo e abilitatelo in modo che venga avviato all'avvio.

systemctl start httpd
systemctl enable httpd

Dopo aver avviato httpd, assicurati dello 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 test per assicurarti che httpd funzioni correttamente.

Passaggio 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à disponibile un server DNS dedicato per l'ambiente di produzione.

Segui i passaggi seguenti per creare 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.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

Passaggio 3: configurare l'accesso senza password SSH

Cloudera Manager 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 di 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 ulteriormente.

Crea un utente "tecmint" su tutti e 4 i server utilizzando il comando useradd come mostrato.

useradd -m tecmint

Per concedere i privilegi di root all'utente "tecmint", aggiungi la riga seguente nel file /etc/sudoers. Puoi aggiungere questa riga sotto root come indicato nello screenshot.

tecmint   ALL=(ALL)    ALL

Passa all'utente "tecmint" e crea la chiave ssh in master1 utilizzando il comando seguente.

sudo su tecmint
ssh-keygen

Ora copia la chiave creata su tutti e 4 i server utilizzando il comando ssh-copy-id come mostrato.

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 

Ora dovresti essere in grado di eseguire ssh da master1 a tutti i server rimanenti senza password, come mostrato.

ssh master2
ssh worker1
ssh worker2
ssh worker3

Passaggio 4: installazione e configurazione di Cloudera Manager

Possiamo utilizzare il repository del vendor (Cloudera) per installare tutti i pacchetti utilizzando gli strumenti di gestione dei pacchetti in RHEL/CentOS. In tempo reale, creare il nostro repository è la pratica migliore perché potremmo non avere accesso a Internet nei server di produzione.

Qui installeremo la versione Cloudera Manager 6.3.1. Poiché utilizzeremo master1 come server repository, scaricheremo i pacchetti nel percorso indicato di seguito.

Crea le directory indicate di seguito sul server master1.

sudo mkdir -p /var/www/html/cloudera-repos/cm6

Possiamo usare lo strumento wget per scaricare pacchetti su http. Quindi, installa wget utilizzando il comando seguente.

sudo yum -y install wget

Successivamente, 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 nella directory /var/www/html/cloudera-repos/cm6/RPMS/x86_64.

cd /var/www/html/cloudera-repos/cm6
ll

Crea file /etc/yum.repos.d/cloudera-manager.repo 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 che 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, un database sottostante in cui archiviare Cloudera Manager e altri metadati dei servizi.

Per impostazione predefinita, Cloudera fornisce 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

Eseguire il comando seguente per verificare lo stato del database.

sudo systemctl status cloudera-scm-server-db

Configura db.properties per il server Cloudera Manager.

vi /etc/cloudera-scm-server/db.properties

Configura il valore seguente come EMBEDDED per fare in modo che Cloudera Manager utilizzi il database incorporato.

com.cloudera.cmf.db.setupType=EMBEDDED

Eseguire il comando seguente per avviare il server Cloudera Manager.

sudo systemctl start cloudera-scm-server

Esegui il comando seguente per verificare lo stato del server Cloudera Manager.

sudo systemctl status cloudera-scm-server

Esegui il comando seguente per avviare e verificare lo stato dell'agente Cloudera Manager.

sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent

Una volta che il server Cloudera Manager è stato installato e funziona correttamente, è possibile visualizzare la WebUI (pagina di accesso) nel browser utilizzando l'indirizzo IP e il numero di porta 7180 che è il numero di porta di Gestore Cloudera.

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 le altre installazioni di servizi nel prossimo articolo.