August 30, 2018

Sreekanth B

Apache Zookeeper Freshers Advanced Experienced Interview Questions and Answers

What is ZooKeeper?

A highly available service for the maintaining purpose of small amounts of coordination data, or to notify clients of changes in that data, and also to monitor clients for their failures, is what we call Zookeeper. Basically, to manage the large set of hosts we use ZooKeeper distributed coordination service. Since, it was difficult to Coordinate and manage, in a distributed environment, ZooKeeper makes it easy with its simple architecture as well as API. In addition, developers can focus on core application logic without even worrying about the distributed nature of the application with the help of Zookeeper.

What are the Benefits Of Zookeeper?

Ans: Following are the benefits of using ZooKeeper, such as:

The simple distributed coordination process
Synchronization
Ordered Messages
Serialization
Reliability
Atomicity

What do you mean by ZNode?

The term ZNode is referred to every node in a ZooKeeper tree. The main purpose of the Znode is to maintain a stat structure. However, stat Structure includes version numbers for data changes and ACL changes.
Apache Zookeeper Freshers Advanced Experienced Interview Questions and Answers
Apache Zookeeper Freshers Advanced Experienced Interview Questions and Answers

Explain the types Of Znodes?

There are 3 types of Znodes: persistence, sequential, and ephemeral.

1. Persistence znode
Persistence znode is alive even after the client, which created that particular znode, is disconnected. By default, all znodes are persistent unless otherwise specified.

2. Ephemeral znode
Until the client is alive, Ephemeral znodes are active. The ephemeral znodes get deleted automatically when a client gets disconnected from the ZooKeeper ensemble. It plays an important role in Leader election.

3. Sequential znode
Simply putting, Sequential znodes can be either persistent or ephemeral.

Explain the CLI In Zookeeper?

In order to interact with the ZooKeeper ensemble for development purpose, we use ZooKeeper Command Line Interface (CLI). Firstly, turn on the ZooKeeper server (“bin/zkServer.sh start”) and then, the ZooKeeper client (“bin/zkCli.sh”), in order to perform ZooKeeper CLI operations.

As soon as the client starts, we can perform the various operations:

Create znodes
Get data
Watch znode for changes
Set data
Create children of a znode
List children of a znode
Check Status
Remove / Delete a znode


What are the Benefits Of Distributed Applications?

There are various benefits of Distributed Applications, such as:

a. Reliability:
It one or a few systems fails, it does not make the whole system to fail.

b. Scalability:
By adding more machines with the minor change in the configuration of the application with no downtime, we can increase the Performance if needed.

What are the challenges Of Distributed Applications?

As same as benefits, there are several challenges also:

a. Race condition
It simply means while Two or more machines are doing the same task, but that needs to be done only by a single machine at any given time.

b. Deadlock
While Two or more operations are waiting for each other to complete indefinitely.

c. Inconsistency
There is the Partial failure of data.

What are the possible Job roles?

There are various positions of Apache ZooKeeper like Senior Engineer ( Java, Zookeeper), Hadoop Developer, Software Engineer-Full Stack, Senior Developer, Director-Site reliability Engineer etc.

What must we know to work on Zookeeper well?

Java is very important since its server runs on JVM, distributed process, and also Linux environment.

What is Apache Zookeeper Meant For?

The common services offered by ZooKeeper are −

a. Naming service
b. Configuration management
c. Cluster management
d. Leader election
e. Locking and synchronization service
f. The highly reliable data registry

What is the model of a ZooKeeper cluster?

Leader and Follower

What is the zookeeper daemon name?

Quorumpeermain

What is the ZooKeeper ensemble?

Basically, an array of nodes (or servers, if you like) that form our Distributed Computer Ecosystem is what we call Ensemble. Especially, we use multiple zookeeper servers to create an ensemble, when we want to have high availability in zookeeper server.

What is ZooKeeper quorum?

As we can run ZooKeeper in a replicated mode in production, so, that replicated group of servers in the same application is what we call the quorum.

What is the difference between the ZooKeeper ensemble and ZooKeeper quorum?

A very basic difference is the full set of peer servers in a ZooKeeper cluster is Ensemble whereas the minimum number of nodes that must agree on a transaction before it is considered committed is what we call Quorum.

Explain Zookeeper Leader election.

Simply a server which is selected by the ensemble of servers, that is a Leader. In order to order client requests which change the ZooKeeper state, Leader is used. Though, when a process starts it enters the ELECTION state.

What is org.apache.jute package?

For simplifying serialization and deserialization of records in a language-neutral manner, org.apache.jute – Hadoop record I/O contains classes and a record description language translator.

What are the barriers?

Basically, a primitive which enables a group of processes in order to synchronize the beginning and the end of a computation is what we call ZooKeeper barriers. The main concept of implementation is to have a barrier node which serves the purpose of being a parent for individual process nodes.

Constituents of Apache ZooKeeper Architecture?

Here are the constituents from the architecture of ZooKeeper are:

a. Server Applications: Through a common interface, these applications facilitate interaction with client applications.
b. Client Applications: There are several tools which help to interact with distributed applications.
c. ZooKeeper Nodes: These are the systems on which a cluster runs.
d. Znode: By any node in the cluster, we can update or modify Znode.

Explain the Methods Of Zookeeper class?

The ZooKeeper API’s central part is ZooKeeper class. Though, it offers options to connect the ZooKeeper ensemble in its constructor and also has several methods :

connect – connect to the ZooKeeper ensemble
ZooKeeper(String connectionString, int sessionTimeout, Watcher watcher)
create – create a znode
create(String path, byte[] data, List acl, CreateMode createMode)
exists – It helps to check whether a znode exists and also its information
exists(String path, boolean watcher)
getData – get data from a particular znode
getData(String path, Watcher watcher, Stat stat)
setData – set data in a particular znode
setData(String path, byte[] data, int version)
getChildren – get all sub-nodes available in a particular znode
getChildren(String path, Watcher watcher)
delete – get a particular znode and all its children
delete(String path, int version)
close – close a connection

Explain Zookeeper Queues?

Simply they are the common data structure. Hence, to implement a distributed queue, designate a Znode to hold the queue, the queue node, in ZooKeeper.

What is ZooKeeper Atomic Broadcast (ZAB) protocol?

This protocol is the core of the system. So, we can see ZooKeeper as an atomic broadcast system, by which updates are totally ordered.

What are the key elements in ZooKeeper Architecture?

Basically, the key elements in the Zookeeper architecture are:

Node: Nodes are the systems which are installed on the cluster.
ZNode: The nodes where the status is updated by other nodes in the cluster.
Client Applications: These applications are the tools those interact with the distributed applications.
Server Applications: Allows the client applications to interact using a common interface.

What is the Data model, and the hierarchical namespace?

As like that of a standard file system, Zookeeper offers the namespace. In other words, it is the sequence of path elements which is separated by a slash (/). So, by a path only, every node in ZooKeeper’s namespace is identified.

What are Watches in Zookeeper?

Basically, on Znodes, Clients can set a watch in Zookeeper. And when the znode changes, the watch will be triggered and removed. The client will receive a local notification if the connection between the client and one of the ZooKeeper servers is broken.

Containerizing ZooKeeper With Docker?

Generally, it is possible to containerize ZooKeeper, with Docker. So, as the best feature, we can add as well as remove the nodes on demand. Moreover, using the Docker containerization, it permits dynamic reconfiguring of the entire Hadoop cluster, as a feature of using the Docker container.

What is ZooKeeper Client?

As same as distributed application, Zookeeper distributed application also consists of the server and client. It has a centralized interface by which clients can connect to the service. However, these clients could be command line or a GUI client. Basically, the tools that are available for interacting with the ZooKeeper distributed application, is what we call ZooKeeper client applications.

What is Zookeeper Cluster?

To have the system at the optimal value when we are running the Apache ZooKeeper at scale, the ZooKeeper infrastructure must be in cluster mode. The other name of the ZooKeeper cluster is an ensemble.

State about ZooKeeper WebUI?

Basically, an easier way to work with ZooKeeper resource management is the ZooKeeper WebUI or Web user interface. This WebUI helps to work with ZooKeeper using the web user interface to interact with the ZooKeeper application.

What are the applications of Apache ZooKeeper?

In simple words, it is mostly considered while creating highly available distributed systems at scale. Also, it helps companies to function smoothly in the big data world just by offering a solid base to implement different big data tools. However, it is most preferred applications to be implemented at a large scale, only due to its ability to give multiple privileges at once.

Subscribe to get more Posts :