"Hadoop. ZooKeeper ู…ู† ุณู„ุณู„ุฉ Mail.Ru Group Technostream "ุงู„ู…ุนุงู„ุฌุฉ ุงู„ู…ูˆุฒุนุฉ ู„ู„ุจูŠุงู†ุงุช ุงู„ูƒุจูŠุฑุฉ ููŠ Hadoop"

ุฃู‚ุชุฑุญ ุฃู† ุชุชุนุฑู ุนู„ู‰ ููƒ ุดูุฑุฉ ู…ุญุงุถุฑุฉ "Hadoop. ZooKeeper" ู…ู† ุณู„ุณู„ุฉ "ุทุฑู‚ ุงู„ู…ุนุงู„ุฌุฉ ุงู„ู…ูˆุฒุนุฉ ู„ูƒู…ูŠุงุช ูƒุจูŠุฑุฉ ู…ู† ุงู„ุจูŠุงู†ุงุช ููŠ Hadoop"


ู…ุง ู‡ูˆ ZooKeeper ุŒ ู…ูƒุงู†ู‡ ููŠ ุงู„ู†ุธุงู… ุงู„ุจูŠุฆูŠ Hadoop. ุงู„ุญู‚ูŠู‚ุฉ ุญูˆู„ ุงู„ุญูˆุณุจุฉ ุงู„ู…ูˆุฒุนุฉ. ู…ุฎุทุท ู†ุธุงู… ุชูˆุฒูŠุน ู‚ูŠุงุณูŠ. ุชุนู‚ูŠุฏ ุชู†ุณูŠู‚ ุงู„ู†ุธู… ุงู„ู…ูˆุฒุนุฉ. ู…ุดุงูƒู„ ุงู„ุชู†ุณูŠู‚ ุงู„ู†ู…ูˆุฐุฌูŠุฉ. ุงู„ู…ุจุงุฏุฆ ุงู„ู…ุฌุณุฏุฉ ููŠ ุชุตู…ูŠู… ZooKeeper. ู†ู…ูˆุฐุฌ ุจูŠุงู†ุงุช ZooKeeper. ุฃุนู„ุงู… Znode. ุงู„ุฌู„ุณุงุช. ูˆุงุฌู‡ุฉ ุจุฑู…ุฌุฉ ุชุทุจูŠู‚ุงุช ุงู„ุนู…ูŠู„ ุงู„ุจุฏุงุฆูŠูˆู† (ุงู„ุชูƒูˆูŠู† ุŒ ุนุถูˆูŠุฉ ุงู„ู…ุฌู…ูˆุนุฉ ุŒ ุฃู‚ูุงู„ ุจุณูŠุทุฉ ุŒ ุงู†ุชุฎุงุจ ุงู„ู‚ุงุฆุฏ ุŒ ุงู„ู‚ูู„ ุจุฏูˆู† ุชุฃุซูŠุฑ ุงู„ู‚ุทูŠุน). ZooKeeper ุงู„ุนู…ุงุฑุฉ. ZooKeeper DB. ZAB. ู…ุนุงู„ุฌ ุงู„ุทู„ุจ.




ุงู„ูŠูˆู… ุฏุนูˆู†ุง ู†ุชุญุฏุซ ุนู† ZooKeeper. ู‡ุฐุง ุงู„ุดูŠุก ู…ููŠุฏ ุฌุฏุง ุฅู†ู‡ ุŒ ู…ุซู„ ุฃูŠ ู…ู†ุชุฌ Apache Hadoop ุŒ ู„ุฏูŠู‡ ุดุนุงุฑ. ูŠุตูˆุฑ ุฑุฌู„.


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


ูˆู‡ู†ุง ุชุฌุฏุฑ ุงู„ุฅุดุงุฑุฉ ุฅู„ู‰ ุฃู† ุงุณุชูƒู…ุงู„ูŠุฉ ุงู„ุชุญุฏูŠุซุงุช ู„ู„ุนู…ู„ูŠุฉ ู†ูุณู‡ุง ู…ุถู…ูˆู†ุฉ. ู…ุง ู‡ุฐุงุŸ ู‡ุฐุง ุงู„ุดูŠุก ุŒ ุฅุฐุง ุชู… ุชู†ููŠุฐู‡ ู…ุฑุชูŠู† ุŒ ูุณูŠูƒูˆู† ู„ู‡ ู†ูุณ ุงู„ุญุงู„ุฉ ุŒ ุฃูŠ ุฃู† ุงู„ุทู„ุจ ู†ูุณู‡ ู„ู† ูŠุชุบูŠุฑ ู…ู† ู‡ุฐุง. ูˆุชุญุชุงุฌ ุฅู„ู‰ ุงู„ู‚ูŠุงู… ุจุฐู„ูƒ ุญุชู‰ ููŠ ุญุงู„ุฉ ุงู„ุณู‚ูˆุท ุŒ ูŠู…ูƒู†ูƒ ุฅุนุงุฏุฉ ุชุดุบูŠู„ ุงู„ุนู…ู„ูŠุฉ ุŒ ูˆุจุงู„ุชุงู„ูŠ ุชู…ุฑูŠุฑ ุงู„ุชุบูŠูŠุฑุงุช ุงู„ุชูŠ ุณู‚ุทุช ููŠ ุงู„ูˆู‚ุช ุงู„ุญุงู„ูŠ. ููŠ ู‡ุฐู‡ ุงู„ุญุงู„ุฉ ุŒ ุณุชุตุจุญ ุญุงู„ุฉ ุงู„ู†ุธุงู… ูƒู…ุง ู‡ูŠ ุŒ ุฃูŠ ู„ุง ูŠู†ุจุบูŠ ุฃู† ุชูƒูˆู† ุณู„ุณู„ุฉ ู…ู† ู†ูุณ ุŒ ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ ุŒ ุนู…ู„ูŠุงุช ุงู„ุชุญุฏูŠุซ ุŒ ุชุคุฏูŠ ุฅู„ู‰ ุญุงู„ุงุช ู†ู‡ุงุฆูŠุฉ ู…ุฎุชู„ูุฉ ู„ู„ู†ุธุงู….









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


All Articles