Kako namestiti in konfigurirati Cloudera Manager na CentOS/RHEL 7 - 3. del


V tem članku smo opisali postopni postopek namestitve Cloudera Manager v skladu z industrijskimi praksami. V 2. delu smo že opravili predpogoje za Cloudera, poskrbite, da so vsi strežniki popolnoma pripravljeni.

  • Najboljše prakse za razmestitev strežnika Hadoop na CentOS/RHEL 7 - 1. del
  • Nastavitev predpogojev za Hadoop in varnostno utrjevanje - 2. del

Tu bomo imeli grozd s 5 vozlišči, v katerem sta 2 mojstra in 3 delavci. Za prikaz namestitvenega postopka sem uporabil 5 primerkov AWS EC2. Teh 5 strežnikov sem poimenoval spodaj.

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

Cloudera Manager je administrativno in nadzorno orodje za celoten CDH. Skrbniki ga običajno imenujemo orodje za upravljanje Cloudera Hadoop. Z uporabo tega orodja lahko razmestimo, spremljamo, nadzorujemo in spreminjamo konfiguracije. To je zelo pomembno za upravljanje celotne skupine.

Spodaj so pomembne uporabe Cloudera Manager.

  • Uvedite in konfigurirajte grozde Hadoop na avtomatiziran način.
  • Nadzirajte zdravje grozdov
  • Konfigurirajte opozorila
  • Odpravljanje težav
  • Poročanje
  • Priprava poročila o uporabi grozdov
  • Dinamično nastavljanje virov

1. korak: Namestitev spletnega strežnika Apache na CentOS

master1 bomo uporabili kot spletni strežnik za repozitorije Cloudera. Cloudera Manager je tudi WebUI, zato moramo imeti nameščen Apache. Za namestitev spletnega strežnika apache sledite spodnjim korakom.

# yum -y install httpd

Ko namestite httpd, ga zaženite in omogočite, da se bo zagnal ob zagonu.

# systemctl start httpd
# systemctl enable httpd

Po zagonu httpd zagotovite stanje.

# systemctl status httpd

Ko zaženete httpd, odprite brskalnik v lokalnem sistemu in v iskalno vrstico prilepite naslov IP master1 , dobili bi to preskusno stran, da se prepričate, da httpd deluje dobro.

2. korak: Konfigurirajte lokalni DNS, da razreši IP in ime gostitelja

Za razrešitev IP-ja in imena gostitelja moramo imeti strežnik DNS ali konfigurirati/etc/hosts. Tukaj konfiguriramo/etc/hosts, toda v realnem času bo za produkcijsko okolje na voljo namenski strežnik DNS.

Sledite spodnjim korakom, da vnesete vse svoje strežnike v/etc/hosts.

# vi /etc/hosts

To je treba konfigurirati v vseh strežnikih.

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

3. korak: Konfigurirajte SSH prijavo brez gesla

Cloudera Manager je nameščen na master1 v tej predstavitvi. Ssh brez gesla moramo konfigurirati iz master1 na vsa druga vozlišča. Ker bo Cloudera Manager ssh uporabljal za komuniciranje vseh drugih vozlišč za namestitev paketov.

Sledite spodnjim korakom za konfiguriranje ssh brez gesla iz master1 na vse preostale strežnike. Uporabnika 'tecmint' bomo nadaljevali.

Ustvari uporabnika 'tecmint' vseh 4 strežnikov z ukazom useradd, kot je prikazano.

# useradd -m tecmint

Če želite uporabniku dati "root" privilegij "tecmint", dodajte spodnjo vrstico v datoteko/etc/sudoers. To vrstico lahko dodate pod root kot da na posnetku zaslona.

tecmint   ALL=(ALL)    ALL

Preklopite na uporabnika 'tecmint' in s spodnjim ukazom ustvarite ključ ssh v master1 .

# sudo su tecmint
$ ssh-keygen

Zdaj kopirajte ustvarjeni ključ na vse 4 strežnike z ukazom ssh-copy-id, kot je prikazano.

$ 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 

Zdaj bi morali imeti možnost ssh iz master1 na preostale strežnike brez gesla, kot je prikazano.

$ ssh master2
$ ssh worker1
$ ssh worker2
$ ssh worker3

4. korak: Namestitev in konfiguriranje Cloudera Manager

S skladiščem ponudnika (Cloudera) lahko namestimo vse pakete z orodji za upravljanje paketov v RHEL/CentOS. V realnem času je ustvarjanje lastnega repozitorija najboljša praksa, ker morda nimamo dostopa do interneta na delovnih strežnikih.

Tukaj bomo namestili različico Cloudera Manager 6.3.1. Ker bomo kot repo strežnik uporabili master1 , pakete prenašamo po spodaj omenjeni poti.

Ustvarite spodnje imenike na strežniku master1 .

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

Orodje wget lahko uporabimo za prenos paketov prek http. Torej namestite wget z uporabo spodnjega ukaza.

$ sudo yum -y install wget

Nato z naslednjim ukazom wget prenesite datoteko tar Cloudera Manager.

$ wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz

Datoteko tar izvlecite v/var/www/html/cloudera-repos/cm6, že smo z namestitvijo http naredili master1 kot spletni strežnik in smo ga preizkusili v brskalniku.

$ sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1

Zdaj preverite, ali so vse datoteke rpm Cloudera v imeniku/var/www/html/cloudera-repos/cm6/RPMS/x86_64.

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

Ustvarite datoteke /etc/yum.repos.d/cloudera-manager.repo na vseh strežnikih v gostiteljih grozda z naslednjo vsebino, tukaj master1 (65.0.101.148) je spletni strežnik.

[cloudera-repo]
name=cloudera-manager
baseurl=http:///cloudera-repos/cm6/
enabled=1
gpgcheck=0

Zdaj je bilo skladišče dodano, zaženite spodnji ukaz, da si ogledate omogočene repozitorije.

$ yum repolist

Zaženite spodnji ukaz, da si v repozitoriju ogledate vse razpoložljive pakete, povezane s Cloudero.

$ yum list available | grep cloudera*

Namestite 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

Zaženite spodnji ukaz za ogled vseh nameščenih paketov Cloudera.

$ yum list installed | grep cloudera*

Zaženite spodnji ukaz, da zaženete cloudera-scm-server-db, ki je osnovna baza podatkov za shranjevanje metapodatkov Cloudera Manager in drugih storitev.

Cloudera privzeto pripravi postgre-sql, ki je vdelan v Cloudera Manager. Vdelano nameščamo v sprotno zunanjo bazo podatkov, ki jo je mogoče uporabiti. Lahko je Oracle, MySQL ali PostgreSQL.

$ sudo systemctl start cloudera-scm-server-db

Zaženite spodnji ukaz, da preverite stanje baze podatkov.

$ sudo systemctl status cloudera-scm-server-db

Konfigurirajte db.properties za strežnik Cloudera Manager.

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

Konfigurirajte spodnjo vrednost EMBEDDED, da bo Cloudera Manager uporabljal vdelano bazo podatkov.

com.cloudera.cmf.db.setupType=EMBEDDED

Zaženite spodnji ukaz, da zaženete strežnik Cloudera Manager.

$ sudo systemctl start cloudera-scm-server

Zaženite spodnji ukaz, da preverite stanje strežnika Cloudera Manager.

$ sudo systemctl status cloudera-scm-server

Zaženite spodnji ukaz, da zaženete in preverite stanje agenta Cloudera Manager.

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

Ko se strežnik Cloudera Manager uspešno zažene in deluje, si lahko v brskalniku ogledate WebUI (stran za prijavo) z uporabo naslova IP in številke vrat 7180, ki je številka vrat Cloudera Manager.

https://65.0.101.148:7180

V tem članku smo videli postopni postopek namestitve Cloudera Manager na CentOS 7. CDH in druge servisne namestitve bomo videli v naslednjem članku.