"Hadoop. ZooKeeper »de la série Technostream de Mail.Ru Group« Traitement distribué de grandes données dans Hadoop »

Je vous suggÚre de vous familiariser avec le décodage de la conférence "Hadoop. ZooKeeper" de la série "Méthodes de traitement distribué de grandes quantités de données dans Hadoop"


Qu'est-ce que ZooKeeper, sa place dans l'Ă©cosystĂšme Hadoop. La vĂ©ritĂ© sur l'informatique distribuĂ©e. SchĂ©ma d'un systĂšme distribuĂ© standard. La complexitĂ© de la coordination des systĂšmes distribuĂ©s. ProblĂšmes de coordination typiques. Les principes incarnĂ©s dans la conception de ZooKeeper. ModĂšle de donnĂ©es ZooKeeper. Drapeaux Znode. Sessions. API client Primitives (configuration, appartenance Ă  un groupe, verrous simples, Ă©lection de leaders, verrouillage sans effet de troupeau). Architecture de ZooKeeper. ZooKeeper DB. ZAB. Gestionnaire de requĂȘtes.




Aujourd'hui, parlons de ZooKeeper. Cette chose est trÚs utile. Comme tout produit Apache Hadoop, il a un logo. Il représente un homme.


, , , . . - - . . ZooKeeper – , . , , .


, , . , MapReduce , , . , , . MapReduce - , . MapReduce , , , . , ZooKeeper.


, Hadoop, Yahoo! Apache. HBase. JIRA HBase, , - , . . . ZooKeeper, , , , . , Hadoop. , , , .



, - , . , , . , , ZooKeeper, . . – , . HDFS, MapReduce , . , ZooKeeper. - , .



? , , , . , , , , , , - , . TCP, , . TCP . . - . . , , . , - , , . .


, , latency. , . Latency – - , , .


. – . -, , , . , . . . , , . .


. , - . , - Hadoop. . , . , - , , . - . .


, , -, . , , cat . – Vim . , . Vim , , , - . , , .



, .


, , , . – ? , . , ? , , - . - , , - , - . , -, - , ?


, . , – , - .


, , , - , – ? - race condition, , , - ? - . .


– . , , , .


, , , , . , , , . - , , , . , , . . . . - , , .


ZooKeeper. – , , , .



, . , – HDFS, HBase. -, , slave-. , , , .



– Coordination Service, . . , - backup stanby , . , . backup. - , , backup. Coordination Service. , .



– , . , . - , . , - slaves, , , . .



, , -slaves, . , . , Cassandra, .


, . .



- , , , , . – , , , . - , . . .



(), , , .



– partial failures. , , - , , , , , . . .


, . – , . . , .


ZooKeeper , .



, , , , , . , shared-nothing. , , , , , .


, shared memory . context switch, . . , , .



, , , . - . , , , , , , . , , , , . , .


. , , , , . . , .


. , , .


? , ? , , , . -, , - , - . - , , - . , . . , , .


– group membership. - , – , . , , , , . , , .


– leader election, , . – , - , . , , . , , , .


– mutually exclusive access. . , , - , , , . - . , , -. , , locks.


ZooKeeper . , .



. - , - . , , - . .


.


- , , .



ZooKeeper . – standalone, . . , . – 100 , , 100 . , ZooKeeper. high availability. ZooKeeper . , . , . – , , – . , .


. , , . .


, - . - . , , , . . – . – -? . watch mechanism, , - . .



Client – , ZooKeeper.


Server – ZooKeeper.


Znode – ZooKeeper. znode ZooKeeper , .


. – update/write, - . .


, , , ZooKeeper.



ZooKeeper . , . , . znodes.


znode - , , , 10 . znode - .



Znode . . znode , .


. – ephemeral flag. Znode - . , . , . , - . , .


– sequential flag. znode. , 1_5. , p_1, – p_2. , , , , – sequential.


znode. , .



– watch flag. , - . , . ZooKeeper , . , - . , - , .


, . , , .



. , , . - .


- . , - . , , .



, API . , , create znode . znode, . - , . . znode.


– . , , znode . , znode, , , , .


, «-1».



– znode. true, , false.


flag watch, .


flag , . .


– getData. , znode . flag watch. , . , , .



SetData. version. , znode .


«-1», .


– getChildren. znode, . , flag watch.


sync , , .


, , , write, - , , , . , , , , .



. . , .


, , update/write, . create, setData, sync, delete. read – exists, getData, getChildren.



, . , -. . , . . ZooKeeper? , ? , , , , ?


ZooKeeper . , znode. , , . , . , , .


getData . true. - , , , , . , - , true. , .


SetData. , «-1», . . , , , . , . , , , . , , , - . , , . , , . .



– group membership. , , . , . -, - , .


? workers create. . sequential , . children , , .




, Java-. , main. , . host, , . . . – .


? API, . . ZooKeeper. hosts. , , 5 . , connectedSignal. , . , - . persistent. , , . . . , . , close , . , - , ZooKeeper .



- ? . , - , . , , lock1. , , lock . , getData , . . , watcher , , . . , lock, , lock , , . . . , . lock , , - .



, . , . ? , . . , . . - , . , .


- , , , . , . - , , .


, , herd effect, . . , , , , , .



, . , lock, hert effect. , id lock. , lock , , , , lock. , lock. , id, lock, . , .


id, lock, watcher , - . . . lock. , id lock, . , lock, - .



ZooKeeper? 4 . – Request. ZooKeeper Atomic Broadcast. Commit Log, . In-memory Replicated DB, . . , .


, Request Processor. In-memory .



. instances ZooKeeper .


, Commit log. , , , log . .



ZooKeeper Atomic Broadcast – , .


ZAB ZooKeeper. , - . , . , . , , , . . broadcasting , .


write request. , transactional update. .


Et ici, il convient de noter que l'idempotence des mises Ă  jour pour la mĂȘme opĂ©ration est garantie. Ce que c'est? Cette chose, si elle est effectuĂ©e deux fois, aura le mĂȘme Ă©tat, c'est-Ă -dire que la demande elle-mĂȘme ne changera pas de cela. Et vous devez le faire pour qu'en cas de chute, vous puissiez redĂ©marrer l'opĂ©ration, ce qui annule les modifications qui sont tombĂ©es en ce moment. Dans ce cas, l'Ă©tat du systĂšme deviendra le mĂȘme, c'est-Ă -dire qu'il ne devrait pas ĂȘtre tel qu'une sĂ©rie des mĂȘmes, par exemple des processus de mise Ă  jour, conduise Ă  diffĂ©rents Ă©tats finaux du systĂšme.









Source: https://habr.com/ru/post/undefined/


All Articles