Video: HBase Tutorial | Apache HBase Tutorial for Beginners | NoSQL Databases | Hadoop Tutorial | Edureka 2024
Sekelompok besar database NoSQL adalah hal yang sulit untuk dikelola. Apache Zookeeper untuk menyelamatkannya! Melacak node mana yang ada di cluster, data apa yang dikelola masing-masing, dan memastikan bahwa master baru dipilih saat master gagal bukanlah tugas yang mudah.
Dengan mengkoordinasikan sistem terdistribusi besar, sangat sulit. Baik Hadoop dan database NoSQL terdistribusi memerlukan cara untuk mengelola konfigurasi keseluruhan cluster. Proses ini juga harus sangat tersedia sehingga tidak satu titik kegagalan dalam keseluruhan sistem.
Di sinilah Apache Zookeeper masuk. Zookeeper menyediakan layanan koordinasi terdistribusi dan konsisten transaksi.
Beberapa produk lain menggunakan Zookeeper untuk pengelolaan cluster:
-
Apache Hadoop
-
Cloud Solr
-
Neo4j
-
Accumulo
-
HBase
-
Rackspace
-
Zynga
-
Yahoo! (untuk beberapa layanannya)
Zookeeper menyediakan struktur penyimpanan hirarkis dalam memori yang serupa dengan sistem file komputer. Struktur ini dikelola oleh master Zookeeper saat ini dan direplikasi di antara node lain di cluster. Sebuah cluster Zookeeper disebut Zookeeper e nsemble.
Hanya master yang mengelola pembaruan (menulis) ke penyimpanan. Perubahan ini diputuskan ke disk untuk membuatnya tahan lama dan kemudian direplikasi ke instance Zookeeper lainnya di ansambel.
Layanan ini menyimpan data konfigurasi cluster mereka di Zookeeper. Beberapa dari mereka menyimpan rentang kunci untuk pecahan database mereka juga. Hal ini memungkinkan klien yang menggunakan database NoSQL yang menggunakan Zookeeper untuk berkomunikasi dengan server Zookeeper manapun di ansambel. Dengan cara ini, klien dapat menemukan server NoSQL yang menyimpan data yang mereka minati.
Menatap simpul mana yang membatasi rentang kunci meminimalkan beban pada server NoSQL, karena mereka tidak perlu meneruskan permintaan data dari satu simpul NoSQL ke simpul yang benar-benar menyimpan datanya.
Anda juga dapat menggunakan penyimpanan data Zookeeper untuk penyimpanan singkat (penyimpanan yang tidak akan bertahan melebihi restart layanan), yang berguna untuk menyimpan sesi atau data runtime lainnya.
Server Zookeeper menggunakan penyimpanan singkat ini untuk menentukan siapa yang mengambil alih jika seorang master gagal. Setiap server membuat znode fana bernomor bernomor (file penyimpanan) di ruang utama. Jika master (pemimpin) Zookeeper menderita kegagalan perangkat keras, maka pemilik znode berikutnya dalam urutan menjadi master. Ini adalah solusi elegan dan menghindari efek "kawanan" di mana semua server berkomunikasi dengan panik satu sama lain selama beberapa detik untuk memilih master baru.
Zookeeper adalah solusi Java yang bagus untuk masalah yang ada dalam pengelolaan sistem terkoordinasi dan ketersediaan tinggi. Anda dapat menggunakannya untuk menerapkan layanan yang tersedia, termasuk layanan perpesanan. Jadi, jika Anda perlu membuat layanan baru yang didistribusikan, pertimbangkan untuk menggunakan Zookeeper.