"Hadoop. ZooKeeper "dari seri Mail.Ru Group Technostream" Mendistribusikan Pemrosesan Data Besar di Hadoop "

Saya menyarankan agar Anda membiasakan diri dengan decoding kuliah "Hadoop. ZooKeeper" dari seri "Metode pemrosesan terdistribusi data dalam jumlah besar di Hadoop"


Apa itu ZooKeeper, tempatnya di ekosistem Hadoop. Kebenaran tentang komputasi terdistribusi. Skema sistem terdistribusi standar. Kompleksitas mengoordinasikan sistem terdistribusi. Masalah koordinasi yang khas. Prinsip-prinsip yang terkandung dalam desain ZooKeeper. Model data ZooKeeper. Bendera Znode. Sesi. API Klien Primitif (konfigurasi, keanggotaan grup, kunci sederhana, pemilihan pemimpin, penguncian tanpa efek kawanan). Arsitektur ZooKeeper. ZooKeeper DB. ZAB. Meminta penangan.




Hari ini mari kita bicara tentang ZooKeeper. Hal ini sangat bermanfaat. Itu, seperti produk Apache Hadoop, memiliki logo. Itu menggambarkan seorang pria.


, , , . . - - . . 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. .


Dan di sini perlu dicatat bahwa idempotensi pembaruan untuk operasi yang sama dijamin. Apa itu? Hal ini, jika dilakukan dua kali, ia akan memiliki status yang sama, yaitu permintaan itu sendiri tidak akan berubah dari ini. Dan Anda perlu melakukan ini sehingga dalam kasus jatuh Anda dapat memulai kembali operasi, sehingga menggulirkan perubahan yang telah jatuh saat ini. Dalam hal ini, keadaan sistem akan menjadi sama, yaitu, seharusnya tidak sedemikian rupa sehingga serangkaian yang sama, misalnya, proses pembaruan, mengarah ke keadaan akhir yang berbeda dari sistem.









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


All Articles