Video: Hadoop Rack Awareness 2024
Zookeeper adalah kumpulan pelayan tersebar yang secara kolektif menyediakan perkhidmatan koordinasi dan penyegerakan yang boleh dipercayai untuk aplikasi berkelompok. Diakui, nama "Zookeeper" mungkin kelihatan pada mulanya menjadi pilihan yang ganjil, tetapi apabila anda memahami apa yang dilakukannya untuk kelompok HBase, anda dapat melihat logika di belakangnya. Apabila anda membina dan menyebarkan aplikasi yang diedarkan "ia adalah zoo di luar sana," jadi anda perlu meletakkan Zookeeper pada pasukan anda.
Kelompok HBase boleh menjadi besar dan menyelaraskan operasi MasterServers, RegionServers, dan pelanggan boleh menjadi tugas yang menakutkan, tetapi di sinilah Zookeeper memasuki gambar. Seperti dalam HBase, kluster Zookeeper lazimnya dijalankan pada pelayan komoditi murah x86.
Setiap pelayan x86 individu menjalankan satu proses perisian Zookeeper tunggal (selepas ini dirujuk sebagai pelayan Zookeeper), dengan satu pelayan Zookeeper yang dipilih oleh ensemble sebagai pemimpin dan seluruh pelayan adalah pengikut. Konvoi zookeeper dikawal oleh prinsip kuorum majoriti.
Konfigurasi dengan satu pelayan Zookeeper disokong untuk tujuan ujian dan pembangunan, tetapi jika anda menginginkan kelompok yang boleh dipercayai yang boleh mentolerir kegagalan pelayan, anda perlu menggunakan sekurang-kurangnya tiga pelayan Zookeeper untuk mencapai kuorum majoriti.
Jadi, berapa banyak pelayan Zookeeper yang anda perlukan? Lima adalah minimum yang disyorkan untuk penggunaan pengeluaran, tetapi anda benar-benar tidak mahu pergi dengan minimum yang terdedah. Apabila anda membuat keputusan untuk merancang ensemble Zookeeper anda, ikuti formula mudah ini: 2F + 1 = N di mana F adalah kegagalan yang boleh diterima dalam kumpulan Zookeeper anda dan N adalah jumlah pelayan Zookeeper yang anda mesti gunakan.
Lima disyorkan kerana satu pelayan boleh dimatikan untuk penyelenggaraan tetapi kelompok Zookeeper masih boleh mentolerir kegagalan pelayan.
Zookeeper menyediakan koordinasi dan penyegerakan dengan panggilan yang znodes , yang dibentangkan sebagai pokok direktori dan menyerupai nama laluan fail yang anda lihat dalam sistem fail Unix. Znodes lakukan data menyimpan tetapi tidak banyak yang boleh dibicarakan - kini kurang daripada 1 MB secara lalai.
Idea di sini ialah Zookeeper menyimpan znodes dalam ingatan dan bahawa znodes berasaskan memori ini memberikan akses klien yang cepat untuk koordinasi, status, dan fungsi penting lain yang diperlukan oleh aplikasi yang diedarkan seperti HBase. Zookeeper mereplikasi znodes merentasi ensemble supaya jika pelayan gagal, data znode masih tersedia selagi kuorum majoriti pelayan masih berjalan dan berjalan.
Satu lagi konsep Zookeeper utama yang berkaitan dengan bagaimana znode dibaca (versus writes) dikendalikan. Mana-mana pelayan Zookeeper boleh mengendalikan bacaan dari klien, termasuk pemimpin, tetapi hanya isu pemimpin yang menulis atom znode - menulis bahawa sama ada berjaya sepenuhnya atau gagal sepenuhnya.
Apabila permintaan menulis znode tiba di node pemimpin, pemimpin menyiarkan permintaan menulis kepada node pengikut dan kemudian menunggu majoriti pengikut mengakui menulis znode lengkap. Selepas pengakuan, pemimpin mengeluarkan znode menulis sendiri dan kemudian melaporkan status penyelesaian yang berjaya kepada klien.
Znodes menyediakan beberapa jaminan yang sangat berkuasa. Apabila klien Zookeeper (seperti HBase RegionServer) menulis atau membaca znode, operasi itu atom . Ia sama ada berjaya sepenuhnya atau gagal sepenuhnya - tidak ada bacaan atau menulis separa.
Tiada pelanggan lain yang bersaing boleh menyebabkan operasi membaca atau menulis gagal. Di samping itu, znode mempunyai senarai kawalan akses (ACL) yang dikaitkan dengannya untuk keselamatan, dan ia menyokong versi, cap waktu dan pemberitahuan kepada pelanggan apabila ia berubah.
Zookeeper mereplikasi znodes merentasi ensemble supaya jika pelayan gagal, data znode masih tersedia selagi kuorum majoriti pelayan masih berjalan dan berjalan. Ini bermakna yang menulis ke mana-mana znode dari mana-mana pelayan Zookeeper mesti disebarkan di seluruh ensemble. Pemimpin Zookeeper menguruskan operasi ini.
Pendekatan menulis znode ini boleh menyebabkan pengikut jatuh di belakang pemimpin untuk tempoh yang singkat. Zookeeper menyelesaikan masalah yang berpotensi ini dengan memberikan arahan penyegerakan. Pelanggan yang tidak boleh bertolak ansur dengan kekurangan penyegerakan sementara ini dalam kelompok Zookeeper mungkin memutuskan untuk mengeluarkan perintah penyegerakan sebelum membaca znodes.