Mataas na kakayahang magamit ang NameNode kasama ang Tagapamahala ng Journal ng Korum



Ang NameNode Mataas na Kakayahang magamit ay isa sa pinakamahalagang tampok ng Hadoop 2.0 Ang NameNode na Mataas na Magagamit sa Korum Journal Manager ay ginagamit upang ibahagi ang mga pag-edit ng mga tala sa pagitan ng mga Aktibo at Standby na NameNode.

Ito ang isa sa pinakamahalagang tampok ng Hadoop 2.0. Bago talakayin ang tampok na Namenode Mataas na Pagiging Magagamit, mahalagang malaman kung ano ang Korum. Ang korum ay isang pangkaraniwang term na ginamit sa pag-cluster kung saan sinasabi namin na ang isang partikular na kumpol ay matatag. Nagbibigay ang korum ng isang listahan ng mga machine at tumutulong upang matukoy ang kalusugan ng kumpol. Mayroong dalawang uri ng Korum: Inaasahang Korum at Nakalkulang Korum.





Mataas na kakayahang magamit ang NameNode kasama ang Korum Journal Manager (QJM)

Bago ang Hadoop 2.0, ang NameNode ay isang solong punto ng kabiguan (SPOF) sa isang kumpol ng HDFS. Ang bawat kumpol ay may isang solong NameNode, at kung ang makina na iyon ay hindi magagamit, ang cluster sa kabuuan ay hindi magagamit hanggang sa ang NameNode ay nai-restart o nagsimula sa isang hiwalay na makina. Sa isang klasikong cluster ng HA, dalawang magkakahiwalay na makina ang na-configure bilang mga NameNode. Sa anumang punto, ang isa sa mga NameNode ay nasa Aktibong estado at ang isa ay nasa isang Standby na estado. Ang Aktibong NameNode ay responsable para sa lahat ng pagpapatakbo ng kliyente sa kumpol, habang ang Standby ay simpleng kumikilos bilang isang alipin, pinapanatili ang sapat na estado upang magbigay ng isang mabilis na failover.

Upang mapanatili ng Standby node ang estado nito na coordinated sa Active node, ang parehong mga node ay nakikipag-usap sa isang pangkat ng magkakahiwalay na daemon na tinatawag na 'JournalNodes' (JNs). Kapag ang anumang pagbabago sa namespace ay ginaganap ng Active node, nag-log ito ng isang tala ng mga pagbabagong nagawa, sa JournalNodes. Ang Standby node ay may kakayahang basahin ang susugan na impormasyon mula sa mga JN, at regular na sinusubaybayan sila para sa mga pagbabago. Tulad ng nakikita ng Standby Node ang mga pagbabago, pagkatapos ay inilalapat ang mga ito sa sarili nitong namespace. Sa kaso ng isang failover, tiyakin ng Standby na nabasa na nito ang lahat ng mga pagbabago mula sa JounalNodes bago baguhin ang estado nito sa 'Aktibong estado'. Ginagarantiyahan nito na ang estado ng namespace ay ganap na na-synched bago maganap ang isang failover.



Upang magbigay ng isang mabilis na failover, mahalaga na ang Standby node ay kailangang magkaroon ng na-update at kasalukuyang impormasyon tungkol sa lokasyon ng mga bloke sa kumpol. Upang mangyari ito, ang mga DataNode ay naka-configure sa lokasyon ng parehong mga NameNode, at nagpapadala ng impormasyon sa lokasyon ng block at mga tibok ng puso sa pareho.

Mahalaga na ang isa lamang sa mga NameNode ay dapat na Aktibo sa bawat pagkakataon. Kung hindi man, ang estado ng namespace ay lilihis sa pagitan ng dalawa at hahantong sa pagkawala ng data o maling resulta. Upang maiwasan ito, papayagan lamang ng JournalNodes ang isang solong NameNode sa isang manunulat nang paisa-isa. Sa panahon ng isang failover, ang NameNode na kung saan ay maging aktibo ay kukuha ng responsibilidad ng pagsusulat sa JournalNodes.

May tanong ba sa amin? Mangyaring banggitin ang mga ito sa seksyon ng mga komento at babalikan ka namin.



Mga Kaugnay na Post:

pagkakaiba sa pagitan ng panghuli sa wakas at pagwakas sa java

Pangkalahatang-ideya ng Hadoop 2.0 Cluster Architecture Federation