Kaip įdiegti ir konfigūruoti „Cloudera Manager“ sistemoje „CentOS/RHEL 7“ - 3 dalis
Šiame straipsnyje mes aprašėme žingsnis po žingsnio, kaip įdiegti „Cloudera Manager“ pagal pramonės praktiką. 2 dalyje mes jau praėjome „Cloudera“ išankstinius reikalavimus, įsitikinkite, kad visi serveriai yra tinkamai paruošti.
- „Hadoop Server“ diegimo „CentOS/RHEL 7“ geroji patirtis - 1 dalis
- „Hadoop“ išankstinių reikalavimų nustatymas ir saugumo grūdinimas - 2 dalis
Čia turėsime 5 mazgų grupes, kuriose bus 2 meistrai ir 3 darbuotojai. Įrengimo procedūrai parodyti panaudojau 5 AWS EC2 egzempliorius. Aš tuos 5 serverius pavadinau žemiau.
master1.linux-console.net master2.linux-console.net worker1.linux-console.net worker2.linux-console.net worker3.linux-console.net
„Cloudera Manager“ yra visos CDH administracinė ir stebėjimo priemonė. Administratorius paprastai vadina tai „Cloudera Hadoop“ valdymo įrankiu. Naudodami šį įrankį galime įdiegti, stebėti, valdyti ir atlikti konfigūracijos pakeitimus. Tai labai svarbu norint valdyti visą klasterį.
Toliau pateikiami svarbūs „Cloudera Manager“ naudojimo būdai.
- Automatiškai įdiekite ir sukonfigūruokite „Hadoop“ grupes.
- Stebėkite grupių būklę
- konfigūruokite įspėjimus
- Trikčių šalinimas
- Pranešimas
- Grupės naudojimo ataskaitos sudarymas
- Dinamiškai konfigūruoti išteklius
1 žingsnis: „Apache“ tinklo serverio diegimas „CentOS“
Mes naudosime master1
kaip „Cloudera“ saugyklų tinklo serverį. Be to, „Cloudera Manager“ yra „WebUI“, todėl turime įdiegti „Apache“. Norėdami įdiegti apache žiniatinklio serverį, atlikite toliau nurodytus veiksmus.
# yum -y install httpd
Įdiegę httpd, paleiskite jį ir įjunkite, kad jis būtų paleistas įkrovos metu.
# systemctl start httpd # systemctl enable httpd
Pradėję httpd, įsitikinkite, kad būsena.
# systemctl status httpd
Paleidę „httpd“, atidarykite naršyklę savo vietinėje sistemoje ir įklijuokite master1
IP adresą į paieškos juostą. Turėtumėte gauti šį bandomąjį puslapį, kad įsitikintumėte, jog „httpd“ veikia gerai.
2 žingsnis: konfigūruokite vietinį DNS, kad išspręstumėte IP ir pagrindinio kompiuterio pavadinimą
Turime turėti DNS serverį arba konfigūruoti/etc/hosts, kad išspręstume IP ir pagrindinio kompiuterio vardą. Čia mes konfigūruojame/etc/hosts, tačiau realiuoju laiku gamybos aplinkai bus skirtas DNS serveris.
Atlikite toliau nurodytus veiksmus, kad įrašytumėte visus savo serverius aplanke/etc/hosts.
# vi /etc/hosts
Tai turėtų būti sukonfigūruota visuose serveriuose.
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 veiksmas: sukonfigūruokite prisijungimą be SSH
Šioje demonstracijoje „Cloudera Manager“ diegiama master1
. Turime sukonfigūruoti ssh be slaptažodžio iš master1
į visus kitus mazgus. Kadangi „Cloudera Manager“ naudos ssh ryšiui su visais kitais mazgais paketams įdiegti.
Atlikite toliau nurodytus veiksmus, kad sukonfigūruotumėte ssh be slaptažodžio iš master1
į visus likusius serverius. Mes turėsime vartotoją „tecmint“, kad galėtume tęsti toliau.
Sukurkite vartotojo „tecmint“ visus 4 serverius naudodami komandą useradd, kaip parodyta.
# useradd -m tecmint
Norėdami suteikti root 'privilegiją vartotojui' tecmint ', pridėkite žemiau esančią eilutę į/etc/sudoers failą. Šią eilutę galite pridėti prie šaknies, kaip pateikti ekrano kopijoje.
tecmint ALL=(ALL) ALL
Perjunkite į vartotojo „tecmint“ ir sukurkite ssh raktą master1
naudodami toliau pateiktą komandą.
# sudo su tecmint $ ssh-keygen
Dabar nukopijuokite sukurtą raktą į visus 4 serverius naudodami komandą ssh-copy-id, kaip parodyta.
$ 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
Dabar jūs turėtumėte galimybę ssh nuo master1
iki likusių visų serverių be slaptažodžio, kaip parodyta.
$ ssh master2 $ ssh worker1 $ ssh worker2 $ ssh worker3
4 žingsnis: „Cloudera Manager“ diegimas ir konfigūravimas
Mes galime naudoti tiekėjo („Cloudera“) saugyklą, kad galėtume įdiegti visus paketus naudodami paketų valdymo įrankius, esančius RHEL/CentOS. Realiuoju laiku kurti savo saugyklą yra geriausia praktika, nes mes galime neturėti interneto prieigos gamybos serveriuose.
Čia mes ketiname įdiegti „Cloudera Manager 6.3.1“ versiją. Kadangi kaip atpirkimo serverį ketiname naudoti master1
, atsisiunčiame paketus toliau nurodytame kelyje.
Sukurkite žemiau nurodytus katalogus serveryje master1
.
$ sudo mkdir -p /var/www/html/cloudera-repos/cm6
Mes galime naudoti „wget“ įrankį paketams atsisiųsti per http. Taigi, įdiekite wget naudodami žemiau esančią komandą.
$ sudo yum -y install wget
Tada atsisiųskite „Cloudera Manager“ dervos failą naudodami šią komandą wget.
$ wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz
Ištraukite dervos failą į/var/www/html/cloudera-repos/cm6, jau mes sukūrėme master1
kaip žiniatinklio serverį įdiegdami http ir mes išbandėme naršyklėje.
$ sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1
Dabar patikrinkite, ar visi „Cloudera rpm“ failai yra kataloge/var/www/html/cloudera-repos/cm6/RPMS/x86_64.
$ cd /var/www/html/cloudera-repos/cm6 $ ll
Sukurkite /etc/yum.repos.d/cloudera-manager.repo failus visuose sankaupos serverių serveriuose su tokiu turiniu, čia master1
(65.0.101.148) yra žiniatinklio serveris.
[cloudera-repo] name=cloudera-manager baseurl=http:///cloudera-repos/cm6/ enabled=1 gpgcheck=0
Dabar saugykla pridėta, paleiskite žemiau esančią komandą, kad peržiūrėtumėte įgalintas saugyklas.
$ yum repolist
Paleiskite žemiau esančią komandą, kad galėtumėte peržiūrėti visus saugykloje esančius „Cloudera“ susijusius paketus.
$ yum list available | grep cloudera*
Įdiekite „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
Paleiskite žemiau esančią komandą, kad peržiūrėtumėte visus įdiegtus „Cloudera“ paketus.
$ yum list installed | grep cloudera*
Paleiskite žemiau esančią komandą, kad paleistumėte „cloudera-scm-server-db“, kuri yra pagrindinė duomenų bazė, skirta „Cloudera Manager“ ir kitų paslaugų metaduomenims saugoti.
Pagal numatytuosius nustatymus „Cloudera“ pateikia „postgre-sql“, kuris yra įterptas į „Cloudera Manager“. Diegiame įterptąją į realiojo laiko išorinę duomenų bazę, kurią galima naudoti. Tai gali būti „Oracle“, „MySQL“ arba „PostgreSQL“.
$ sudo systemctl start cloudera-scm-server-db
Paleiskite žemiau esančią komandą, kad patikrintumėte duomenų bazės būseną.
$ sudo systemctl status cloudera-scm-server-db
Konfigūruokite „Cloudera Manager“ serverio db.properties.
$ vi /etc/cloudera-scm-server/db.properties
Jei norite, kad „Cloudera Manager“ naudotų įterptąją duomenų bazę, sukonfigūruokite žemiau esančią vertę.
com.cloudera.cmf.db.setupType=EMBEDDED
Norėdami paleisti „Cloudera Manager“ serverį, vykdykite toliau pateiktą komandą.
$ sudo systemctl start cloudera-scm-server
Vykdykite toliau pateiktą komandą, kad patikrintumėte „Cloudera Manager“ serverio būseną.
$ sudo systemctl status cloudera-scm-server
Vykdykite žemiau esančią komandą, norėdami pradėti ir patikrinti „Cloudera Manager“ agento būseną.
$ sudo systemctl start cloudera-scm-agent $ sudo systemctl status cloudera-scm-agent
Kai „Cloudera Manager Server“ sėkmingai veikia ir veikia, naršyklėje galite peržiūrėti „WebUI“ (prisijungimo puslapį) naudodami IP adresą ir prievado numerį 7180, kuris yra „Cloudera Manager“ prievado numeris.
https://65.0.101.148:7180
Šiame straipsnyje žingsnis po žingsnio matėme „Cloudera Manager“ diegimo procesą „CentOS 7“. CDH ir kitas paslaugų diegimo programas pamatysime kitame straipsnyje.