Това е една от най-важните характеристики на Hadoop 2.0. Преди да обсъдите функцията за висока наличност Namenode, е важно да знаете какво е кворум. Кворумът е родов термин, използван в клъстерирането, където казваме, че определен клъстер е стабилен. Кворумът дава списък с машини и помага да се определи състоянието на клъстера. Има два вида кворум: очакван кворум и изчислен кворум.
конвертира низ в формат дата в
Висока наличност на NameNode с Quorum Journal Manager (QJM)
Преди Hadoop 2.0, NameNode беше единична точка на отказ (SPOF) в HDFS клъстер. Всеки клъстер имаше един NameNode и ако тази машина беше недостъпна, клъстерът като цяло нямаше да бъде достъпен, докато NameNode не бъде рестартиран или стартиран на отделна машина. В класическия HA клъстер две отделни машини са конфигурирани като NameNodes. Във всеки един момент NameNodes ще бъде в активно състояние, а другият ще бъде в състояние на готовност. Active NameNode е отговорен за всички клиентски операции в клъстера, докато режимът на готовност просто действа като подчинен, поддържайки достатъчно състояние, за да осигури бърз отказ.
За да може възелът в режим на готовност да поддържа състоянието си координирано с активния възел, двата възела комуникират с група отделни демони, наречени „JournalNodes“ (JN). Когато някоя модификация на пространство от имена се извършва от активния възел, той регистрира запис на направените промени в JournalNodes. Възелът в режим на готовност е в състояние да чете изменената информация от JNs и редовно ги наблюдава за промени. Тъй като възелът в режим на готовност вижда промените, той след това ги прилага към собственото си пространство от имена. В случай на отказ, режимът на готовност ще се увери, че е прочел всички промени от JounalNodes, преди да смени състоянието си на „Активно състояние“. Това гарантира, че състоянието на пространството от имена е напълно синхронизирано, преди да се случи отказоустойчивост.
За да се осигури бърз отказ, от съществено значение е възелът в режим на готовност да има актуализирана и актуална информация относно местоположението на блокове в клъстера. За да се случи това, DataNodes са конфигурирани с местоположението на двата NameNodes и изпращат информация за местоположението на блока и сърдечните удари и на двамата.
От съществено значение е само един от NameNodes да бъде активен в даден момент. В противен случай състоянието на пространството от имена би се отклонило между двете и би довело до загуба на данни или грешни резултати. За да се избегне това, JournalNodes ще разрешават само един NameNode на записващо устройство в даден момент. По време на срив, NameNode, който трябва да стане активен, ще поеме отговорността за писане в JournalNodes.
Имате въпрос към нас? Моля, споменете ги в раздела за коментари и ние ще се свържем с вас.
Подобни публикации:
Преглед на федерацията за клъстерна архитектура Hadoop 2.0
видове филтри в таблицата