Korkean käytettävyyden omaavan Hiven asentaminen ja määrittäminen – Osa 7


Hive on Data Warehouse -malli Hadoop Eco-Systemissä. Se voi toimia ETL-työkaluna Hadoopin päällä. High Availabilityn (HA) ottaminen käyttöön Hivessä ei ole samanlaista kuin pääpalveluissa, kuten Namenode ja Resource Manager.

Automaattista vikasietoa ei tapahdu Hivessä (Hiveserver2). Jos jokin Hiveserver2 (HS2) epäonnistuu, epäonnistuneessa HS2:ssa suoritettavat työt epäonnistuvat. Meidän on lähetettävä työ uudelleen, jotta työ voidaan suorittaa toisessa HiveServer2:ssa. Joten HA:n ottaminen käyttöön HS2:ssa ei ole muuta kuin HS2-osien määrän lisäämistä klusterissa.

Tässä artikkelissa kerrotaan vaiheet hiven:n Korkean käytettävyyden asentamiseksi ja käyttöön ottamiseksi.

Vaatimukset

  • Parhaat käytännöt Hadoop-palvelimen käyttöönottoon CentOS/RHEL 7:ssä – Osa 1
  • Hadoopin ennakkovaatimusten määrittäminen ja suojauksen vahvistaminen – Osa 2
  • Cloudera Managerin asentaminen ja määrittäminen CentOS/RHEL 7:ssä – Osa 3
  • CDH:n asentaminen ja palvelusijoittelujen määrittäminen CentOS/RHEL 7:ssä – Osa 4
  • Namenoden korkean käytettävyyden määrittäminen – Osa 5
  • Resurssienhallinnan korkean käytettävyyden määrittäminen – Osa 6

Aloitetaan…

Hiven asennus ja konfigurointi

1. Kirjaudu Cloudera Manageriin alla olevasta URL-osoitteesta ja siirry kohtaan Cloudera Manager –> Lisää palvelu .

http://13.233.129.39:7180/cmf/home

2. Valitse palvelu Hive.

3. Määritä palvelut solmuille.

  • Yhdyskäytävä – Se on asiakaspalvelu, jossa käyttäjä voi käyttää pesää. Yleensä tämä palvelu sijoitetaan käyttäjille omistettuihin Edge -solmuihin.
  • Hive Metastore – Se on keskustietovarasto Hiven metatietojen tallentamiseen.
  • WebHCat-palvelin – Se on verkkosovellusliittymä HCatalogille ja muille Hadoop-palveluille.
  • Hiveserver2 – Se on asiakkaiden käyttöliittymä kyselyjen suorittamista varten Hivessa.

Kun palvelimet on valittu, jatka napsauttamalla Jatka.

4. Hive Metastore tarvitsee taustalla olevan tietokannan metatietojen tallentamista varten. Tässä käytämme oletusarvoista PostgreSQL-tietokantaa, joka on sisäänrakennettu CDH:lla.

Alla mainitut tietokannan tiedot syötetään automaattisesti, 'Testiyhteys' ohitetaan, kun mainittu tietokanta luodaan lennossa. Reaaliajassa meidän on luotava tietokanta ulkoiseen tietokantaan ja testattava yhteys jatkaaksesi eteenpäin. Kun olet valmis, napsauta Jatka.

5. Määritä Hive Warehouse -hakemisto, /user/hive/warehouse on oletushakemistopolku Hive-taulukoiden tallentamiseen. Napsauta Jatka.

6. Hiven asennus alkaa.

7. Kun asennus on valmis, saat Valmis-tilan. Napsauta Jatka jatkaaksesi eteenpäin.

8. Hiven asennus ja määritykset suoritettu onnistuneesti. Viimeistele asennus napsauttamalla Valmis.

9. Näet Klusteriin lisätyn Hive-palvelun Cloudera Manager -hallintapaneelin kautta.

10. Voit tarkastella Hiveserver2:ta-kohdassa Hive-kohdassa Instanssit. Olemme lisänneet Hiveserver2:n hakemistoon master1.

Cloudera Manager –> Hive –> Istumat –> Hiveserver2.

Korkean käytettävyyden ottaminen käyttöön Hivessa

11. Lisää seuraavaksi Hive-rooli siirtymällä kohtaan Cloudera Manager –> Hive –> Toiminnot –> Lisää rooli-esiintymiä.

12. Valitse palvelimet, joihin haluat sijoittaa ylimääräisen Hiveserver2:n. Voit lisätä enemmän kuin kaksi, rajaa ei ole. Tässä lisäämme ylimääräisen Hiveserver2:n master2:een.

13. Kun olet valinnut palvelimen, napsauta Jatka.

14. Hiverserver2 lisätään hive-instanssiin, sinun on käynnistettävä se siirtymällä Cloudera Manageriin. –> Pesä –> Esiintymät –> (Valitse Hiveserver2 lisätty juuri) –> Toiminto valituille –> Aloita.

15. Kun Hiveserver2 on käynnistynyt master2:ssa, saat tilaksi Valmis. Napsauta Sulje.

16. Voit tarkastella, molemmat Hiveserver2:t ovat käynnissä.

Hiven saatavuuden tarkistaminen

Voimme yhdistää Hiveserver2:n beelinen kautta, joka on ohut asiakasohjelma ja komentorivi. Se käyttää JDBC-ohjainta yhteyden muodostamiseen.

17. Kirjaudu palvelimelle, jossa Hive Gateway on käynnissä.

[tecmint@master1 ~]$ beeline

18. Yhdistä Hiveserver2 kirjoittamalla JDBC-yhteysmerkkijono. Tässä yhteydessä mainitaan merkkijono Hiverserver2 (master2) sen oletusporttinumerolla 10000. Tämä yhteysmerkkijono muodostaa yhteyden vain Hiveserver2:een, joka on käynnissä master2:ssa.

beeline> !connect "jdbc:hive2://master1.linux-console.net:10000"

19. Suorita esimerkkikysely.

0: jdbc:hive2://master1.linux-console.net:10000> show databases;

Tämä on oletustietokanta, joka tulee sisäänrakennettuna.

20. Lopeta Hive-istunto alla olevalla komennolla.

0: jdbc:hive2://master1.linux-console.net:10000> !quit

21. Voit käyttää samaa tapaa muodostaaksesi yhteyden Hiveserver2:een, joka toimii master2:ssa.

beeline> !connect "jdbc:hive2://master2.linux-console.net:10000"

23. Voimme yhdistää Hiveserver2:n Zookeeper Discovery -tilassa. Tässä menetelmässä meidän ei tarvitse mainita Hiveserver2-osoitetta yhteysmerkkijonossa, vaan käytämme Zookeeper-työkalua löytääksemme käytettävissä olevan Hiveserver2-palvelimen.

Tässä voimme käyttää kolmannen osapuolen kuormantasainta tasapainottamaan kuormitusta käytettävissä olevien Hiverserver2:n välillä. Alla olevat asetukset täytyy ottaa käyttöön Zookeeper Discovery -tilan ottamiseksi käyttöön siirtymällä kohtaan Cloudera Manager –> Hive –> Configuration.

24. Tee seuraavaksi ominaisuus "HiveServer2 Advanced Configuration Snippet " ja lisää alla oleva ominaisuus napsauttamalla + -symbolia.

Name : hive.server2.support.dynamic.service.discovery
Value : true
Description : <any description>

25. Kun olet syöttänyt omaisuuden, napsauta Tallenna muutokset.

26. Koska teimme muutoksia konfiguraatioon, sinun on käynnistettävä kyseiset palvelut uudelleen napsauttamalla oranssia värisymbolia käynnistääksesi palvelut uudelleen.

27. Napsauta Käynnistä vanhentuneet palvelut uudelleen.

28. Saatavilla on kaksi vaihtoehtoa. Jos klusteri on käynnissä tuotannossa, meidän on suosittava jatkuvaa uudelleenkäynnistystä katkon minimoimiseksi. Asennusvaiheessa voimme valita toisen vaihtoehdon Ota asiakasmääritys uudelleen käyttöön ja klikata Käynnistä uudelleen nyt.

29. Kun uudelleenkäynnistys on suoritettu onnistuneesti, saat tilaksi Valmis. Viimeistele prosessi napsauttamalla Valmis.

30. Nyt yhdistämme Hiveserver2:n Zookeeper Discovery -tilan avulla. JDBC-yhteydessä merkkijono, jota tarvitsemme käyttääksemme Zookeeper-palvelimia porttinumerolla 2081. Kerää Zookeeper-palvelimet siirtymällä kohtaan Cloudera Manager –> Zookeeper –> Instances –> (merkitkää muistiin palvelinten nimet).

Nämä ovat kolme palvelinta, joissa on Zookeeper, 2181 on portin numero.

master1.linux-console.net:2181
master2.linux-console.net:2181
worker1.linux-console.net:2181

31. Siirry nyt beelineen.

[tecmint@master1 ~]$ beeline

32. Kirjoita JDBC-yhteysmerkkijono alla mainitulla tavalla. Meidän on mainittava Service Discovery Mode ja Zookeeper Namespace. hiveserver2 on Hiveserver2:n oletusnimiavaruus.

beeline>!connect "jdbc:hive2://master1.linux-console.net:2181,master2.linux-console.net:2181,worker1.linux-console.net:2181/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2"

33. Nyt istunto on yhdistetty Hiveserver2:een, joka toimii master1:ssä. Suorita esimerkkikysely vahvistaaksesi. Käytä alla olevaa komentoa tietokannan luomiseen.

0: jdbc:hive2://master1.linux-console.net:2181,mast> create database tecmint;

34. Käytä alla olevaa komentoa listataksesi tietokannan.

0: jdbc:hive2://master1.linux-console.net:2181,mast> show databases;

35. Nyt vahvistamme korkean käytettävyyden Zookeeper Discovery -tilassa. Siirry Cloudera Manageriin ja pysäytä Hiveserver2 master1:ssä, jonka olemme testanneet yllä.

Cloudera Manager –> Hive –> Istumat –> (valitse Hiveserver2 master1:ssä ) –> Toiminto valituille –> Lopeta.

36. Napsauta Lopeta. Kun lopetat, saat tilan Valmis. Vahvista Hiveserver2 sivustolla master1 siirtymällä kohtaan Hive –> Instances.

37. Siirry beeline-linjaan ja yhdistä Hiveserver2 käyttämällä samaa JDBC-yhteysmerkkijonoa Zookeeper Discoveryn kanssa tila kuten teimme yllä olevissa vaiheissa.

[tecmint@master1 ~]$ beeline

beeline>!connect "jdbc:hive2://master1.linux-console.net:2181,master2.linux-console.net:2181,worker1.linux-console.net:2181/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2"

Nyt sinut yhdistetään Hiveserver2:een, joka on käynnissä master2:ssa.

38. Vahvista esimerkkikyselyllä.

0: jdbc:hive2://master1.linux-console.net:2181,mast> show databases;

Johtopäätös

Tässä artikkelissa olemme käyneet läpi yksityiskohtaiset vaiheet saadaksemme Hive Data Warehouse -mallin klusteriimme korkealla käytettävyydellä. Reaaliaikaisessa tuotantoympäristössä yli kolme Hiveserver2:ta sijoitetaan Zookeeper Discovery Mode -tilaan.

Täällä kaikki Hiveserver2:t rekisteröityvät Zookeeperiin yhteisen nimiavaruuden alla. Zookeeper Dynaamisesti löytää käytettävissä olevan Hiveserver2:n ja perustaa Hive-istunnon.