ุฃูุชุฑุญ ุฃู ุชุชุนุฑู ุนูู ูู ุดูุฑุฉ ู
ุญุงุถุฑุฉ "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. .
ูููุง ุชุฌุฏุฑ ุงูุฅุดุงุฑุฉ ุฅูู ุฃู ุงุณุชูู
ุงููุฉ ุงูุชุญุฏูุซุงุช ููุนู
ููุฉ ููุณูุง ู
ุถู
ููุฉ. ู
ุง ูุฐุงุ ูุฐุง ุงูุดูุก ุ ุฅุฐุง ุชู
ุชูููุฐู ู
ุฑุชูู ุ ูุณูููู ูู ููุณ ุงูุญุงูุฉ ุ ุฃู ุฃู ุงูุทูุจ ููุณู ูู ูุชุบูุฑ ู
ู ูุฐุง. ูุชุญุชุงุฌ ุฅูู ุงูููุงู
ุจุฐูู ุญุชู ูู ุญุงูุฉ ุงูุณููุท ุ ูู
ููู ุฅุนุงุฏุฉ ุชุดุบูู ุงูุนู
ููุฉ ุ ูุจุงูุชุงูู ุชู
ุฑูุฑ ุงูุชุบููุฑุงุช ุงูุชู ุณูุทุช ูู ุงูููุช ุงูุญุงูู. ูู ูุฐู ุงูุญุงูุฉ ุ ุณุชุตุจุญ ุญุงูุฉ ุงููุธุงู
ูู
ุง ูู ุ ุฃู ูุง ููุจุบู ุฃู ุชููู ุณูุณูุฉ ู
ู ููุณ ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ุนู
ููุงุช ุงูุชุญุฏูุซ ุ ุชุคุฏู ุฅูู ุญุงูุงุช ููุงุฆูุฉ ู
ุฎุชููุฉ ูููุธุงู
.







