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.