Apache Zookeeper is a software project of the Apache Software Foundation. It is a distributed hierarchical key-value store. Which is use to provide a distributed configuration service. Synchronization service and naming registry for large distributed systems. The zookeeper was a sub-project of Hadoop but is now a top level project in its own right.
A Distributed Coordination Service for Distributed Applications
A Zookeeper is a distributed, open-source coordination service for distributed applications. It exposes a simple set of primitives. That distributed applications services for synchronization, configuration maintenance, groups and name design. The use a data model styled after the directory tree structure of file systems. It runs on Java and bindings for both Java and C.
Zookeeper is simple
The Zookeeper allows distributed processes to coordinate with each shared hierarchal namespace. This is organizing to a standard file system. The namespace consists of data registers - called Znodes. In Zookeeper parlance - and these are like files and directories. A typical file system design for storage in Zookeeper data in-memory. This means Zookeeper can high throughput and low latency numbers. The Zookeeper implementation high performance, available and ordered access. The performance of Zookeeper means use in large and distributed systems. The reliability aspects keep it from being a single point of failure. The strict ordering means that synchronization primitives can install at the client
Zookeeper is replicate
The distributed processes it coordinates. Zookeeper replicates a set of hosts called an ensemble The servers of Zookeeper service must all each other. They maintain memory image of the state. To along with transaction logs and snapshots in a persistent store. As long as the majority of the servers are available in the Zookeeper and service are available Clients maintain to a single Zookeeper server. The client maintains a TCP connection sends requests, gets responses. If the TCP connection to the server breaks but, the client will connect to a different server.
ZooKeeper is order
Zookeeper stamps each update with a number. That reflects the order of all Zookeeper transactions. Next operations can use the order to put in place higher-level abstractions. Such as synchronization primitives
Zookeeper is fast
It is fast in "read-dominant" workloads. Zookeeper applications run on thousands of machines. It performs reads are more common than writes, at ratios of around 10:1.
Data model and the hierarchical namespace
The namespace provides by Zookeeper is a standard file system. A sequence of path elements separated by a slash. Every node in Zookeeper identifies a path of the namespace
Nodes and ephemeral nodes
The each node in a Zookeeper namespace can have data associated with as children. It is like having a file system that allows a file to also be a directory. We use the term Znode to make it clear that we are talking about Zookeeper data nodes. ZNodes maintain a structure. That includes version numbers for data changes, ACL changes and timestamps. To allow cache validations and coordinated updates. Each time a ZNode's data changes the version of number increases. Whenever a client retrieves data it also receives the version of the data. The data stored at each Znode in a namespace read and write manner. Reads data bytes associated with a Znode and write replaces of all the data. Each node has an Access Control List (ACL). Zookeeper also has the notion of ephemeral nodes. These Znodes exists as the session that created the Znode is active. When the session ends the Znode is deleting. Ephemeral nodes are useful when you want to put in place [TBD].
Kosmik Offers Hadoop Training Institutes in Hyderabad Kphb by Real Time expert.