Trending November 2023 # Guide To Attributes And Arguments Of Ansible Playbook # Suggested December 2023 # Top 17 Popular

You are reading the article Guide To Attributes And Arguments Of Ansible Playbook updated in November 2023 on the website We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested December 2023 Guide To Attributes And Arguments Of Ansible Playbook

Introduction to Ansible Playbooks

Ansible playbook is a file that contains a set of instructions or configurations that needs to be applied on a specific server or a group of servers. It is written in YAML know as Yet Another Markup Language. It describes the Desired State Configuration of the servers in our environment. We can also use Ansible Playbook to orchestrate some of our manual ordered processes. Ansible playbook is more powerful than the ad-hoc commands in Ansible as we can run only one task in ad-hoc command, however, we can write multiple plays and run multiple tasks under one play in Ansible Playbook. We use the‘ansible-playbook’ command to execute the playbook.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Attributes of Ansible Playbooks

Let’s understand the attributes of Ansible Playbook using below playbook (nginx.yml):

state: restarted

1. hosts: It defines a server or a group of servers on which we want to run the tasks mentioned under it. We can use a pattern to define the hosts. We can use patterns to define hosts. We can run tasks against one or more servers or one or more groups separated by colons, like host1:host2 or webserver:dbserver. We can use wildcards as well like ‘web*’ defines all hosts that start with the ‘web’. Defined hosts must exist in the inventory. Example of some patterns are as below: –

Patterns Targets

all or (*) All hosts in the inventory

node1 or group1 only one host or one group

node1:node2:node3 or group1:group2:group3 Multiple hosts or all hosts in group1, group2, and group3

group1:!group2 All hosts in group1 but not in group2

group1:&group2 All hosts in group1 that are also in group2

2. vars: It defines variables that we can use in the playbook. Same as the other programming language.

3. remote_user: It defines user under which tasks are going to run on the hosts. We can define different remote_user to each task if requires. We can use ‘become’ keyword and make it ‘yes’ to provide sudo access to the remote_user if the remote user is not root, however, in the above example, we are running tasks under ‘root’ user.

4. tasks: We define tasks in a playbook. It defines what to do on the mentioned hosts. Tasks execute in sequence as define in the playbook from top to bottom. Each task has one module associated with it that tells tasks what action has to perform on the hosts. The power of the Ansible is modules, there are a lot of pre-built modules available in Ansible and we can create our own modules as well. For example, it has a ‘yum’ module to install the package on RedHat based OS, ‘service’ module to work with services, ‘file’ module to work with files, ‘shell’ module to execute shell command on the hosts, etc.

We have used ‘yum’, ‘template’, and ‘service’ module in the above example.

5. tags: We can give a tag to the task and we can specify the tag while running the playbook so that only those tasks will run which has the same tag. It is useful if there are many tasks in the same play, for example, few tasks are related to web servers and few tasks are related to DB servers then we can tag the tasks related to web servers with one tag and DB servers with different tag and whenever we need to run only tasks that is related to web servers we can use the tag associated with web servers and vice-versa.

We have used the tag ‘nginx_service’ in the above example.

6. handlers: It defines the next action if there is any change made to the host after completion of any tasks that has a ‘notify’ attribute associated with it. Handler executes only once even if the same handler notified by multiple tasks. It runs at the end when all tasks in the play have been completed. There are multiple handlers can be notified by a single task.

We have one handler named ‘restart nginx’ in the above example and it will be triggered by the task ‘Copy configuration file’ as we need to restart the nginx service if any configuration changes have been made.

Let’s run the above playbook using below command and understand the options that we can pass while executing the playbook from the command line: –



ansible-playbook nginx.yml

Explanation: – In the above example, we have run the Ansible playbook ‘nginx.yml’ without any optional arguments. There is one play in the playbook. It starts the play and runs a default task called ‘Gathering Facts’. After gathering the facts about the host, it runs the first task from the play i.e. ‘Install nginx’ and then second task ‘copy configuration file’, this tasks also triggers the handler as there is some changes made to the hosts by this task and then the last task executes that ensure nginx service is running and it is enabled. Handler ‘restart nginx’ runs at the end once all tasks are completed.

Let’s understand the color code: –

Green – No changes made to the hosts

Yellow – Changes have been made to the hosts

Red – Task failed due to some reason

Arguments of Ansible Playbooks

There are many optional arguments can be passed to the ansible-playbook command, let’s discuss some essential options: –


ansible-playbook chúng tôi –list-hosts

2. –list-tags: It shows all available tags in the playbook.


ansible-playbook chúng tôi --list-tags

3. –list-tasks: It shows all available tasks in the playbook and also associated tags with that task: –


ansible-playbook chúng tôi --list-tasks


ansible-playbook chúng tôi --skip-tags nginx_service

5. -e: It allows us to set any extra variables as a key=value pair that is used by the playbook. We can also use ‘–extra-var’ or ‘extra-vars’.


ansible-playbook nginx.yml–e max_client=100

6. -i or –inventory or inventory-file: It is used to provide different inventory file instead of default while running the playbook.


ansible-playbook  -i chúng tôi nginx.yml

Note: – We use the ‘-h’ option to know all the available options.

Conclusion Recommended Articles

This is a guide to Ansible Playbooks. Here we discuss the attributes and arguments of Ansible Playbook along with respective examples for better understanding. You may also look at the following articles to learn more –

You're reading Guide To Attributes And Arguments Of Ansible Playbook

Attributes Of Matlab Pcolor() With Examples

Introduction to Matlab pcolor()

In MATLAB, pcolor() is the plotting function which is designed to represent the input matrix data in the form of an array of colored cells creating a pseudo color plot. The colored cell is termed as face. The plot gets created as x-y plane flat surface with x and y co-ordinates as vertices(corners) of faces. The limits for x and y co-ordinates are decided by the size of the input matrix.

Start Your Free Data Science Course

Hadoop, Data Science, Statistics & others


There are different syntaxes that can be used to implement pcolor() method based on the input arguments given to it. Such as:

Where C is the input matrix data


Where C is the input matrix data


X– x-coordinates of the vertices

ax defines the axes targeted for the plot

To store the pseudo color plot as surface object

Attributes of Matlab pcolor()

Here is the table of Attributes:

Attribute Description

C Input matrix data

X,Y coordinates of the vertices

Ax axes targeted for the plot

Examples to Implement Matlab pcolor()

Here are the examples mentioned:

Example #1

create pseudo color plot for input matric Cmat.




Explanation: The input matrix is of size 2X3 and the vertices of the plot is decided 2X3 as default data. The pseudo color plot also can be created in the reverse direction using axis function.

Example #2

Generate Hadamard square orthogonal matrix and create pseudo color plot for same,with the origin set in the upper left corner.


axis square


Explanation: The resultant graph is a 40X40 two-color map, represented in the reverse direction.

Example #3

Create pseudo color plot for the input matrix data Cmat within the defined x and y coordinates given by matrix inputs X and Y.




Explanation: The resultant plot has the vertices as per the values given by X and Y matrices and data from Cmat is plotted within the limits. The data from the input matrix are represented by different color code in the plot.

Example #4

MATLAB supports tilling of plots using the functions like nexttile() and tiledlayout(). The below code is wriiten to create 1X2 chart layout and creating two different pseudo color plot for two different set of inputs and functions in each cell of the layout.



Explantion: The resultant plots are arranged in single layout consisting of two tiles generated using the function nexttile().

Pcolor() with Surface Object

When pcolor() method is assigned to a variable, it returns a surface object. This return value can be used to customize the properties of the plot after its creation.

Example #1

The below code is developed create a pseudo color plot for input matrix and modify the edge color and line width after the plot is generated.


s.LineWidth = 5;


Explanation: The resultant pseudo color plot is assigned to variable ‘s’. The edge color and the line width of the plot is modified using ‘s’ value as shown in the output plot.

Example #2

The below code snippet is designed to create the pseudo color plot and modify the face color of the cells using interpolated coloring using surface object properties.


s.FaceColor = ‘interp’;


Explanation: The resultant pseudo color plot is assigned to surface object ‘s’. The color representation of the faces are modified due to modification applied to the surface object property ‘facecolor’ for the surface object ‘s’.

Semi Logarithm Plotting using pcolor() Example #1

The below MATLAB code is designed to create semi logarithmic pseudo color plot and to alter the appearance using surface object properties from its return value.


s = pcolor(X,YL,Cmat);


Explanation: The resultant output is surface plot where y-coordinate input is the logarithmic function of x-coordinate inputs. The pseudo color semi logarithmic plot generated from the pcolor() method can be stored as surface object and its properties can be altered as shown in the below example:

Example #2




Explanation: The plot from the above code is generated with modified y-tick values by altering the properties of the surface object ‘s’.

Parametric Plotting using pcolor()

Parametric functions are also supported by pcolor() method.

Example #1

The below MATLAB code is designed to generate pseudo color plot from the x-y co oridinates generated from parametric equations.



Explanation: The resultant plot represents the input matrix data, generated from repmat() function within the x-y coordinate values that are defined by two parametric equations.

Note: The size of the x-y coordinate grid must match the size of the input matrix data C. Based on the value in input matrix, the color map array gets colored from its vertices up to face chúng tôi first row gets mapped by the smallest value in C whereas the last row by the largest one, in the color map array. In case of long input array/matrix, the performance of pcolor() method seems to be slower.

Recommended Articles

This is a guide to Matlab pcolor(). Here we discuss an introduction to Matlab pcolor() with appropriate syntax and respective examples for better understanding. You can also go through our other related articles to learn more –

Guide To Simple & Powerful Types Of C# Versions

Introduction to C# Versions

C# is an object-oriented language. It is very simple and powerful. This language is developed by Microsoft. C# first release occurred in the year 2002. Since then below released or versions has come. In this article, we will discuss the different versions.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Versions of C# 1. C# Version 1.0

This version is like java. Its lack in the async capabilities and some functionalities. The major features of this release are below

Classes: It is a blueprint that is used to create the objects.

There can be only one public class per file.

Comments can appear at the beginning or end of any line.

If there is a public class in a file, the name of the file must match the name of the public class.

If exists, the package statement must be the first line.

import statements must go between the package statement(if there is one) and the class declaration.

If there are no package or import statements, the class declaration must be the first line in the source code file.

import and package statements apply to all classes within a source code file.

File with no public classes can have a name that need not match any of the class names in the file.


public class Test { public int a, b; public void display() { WriteLine(“Class in C#”); } }

Structure: In Struct, we can store different data types under a single variable. We can use user-defined datatype in structs. We have to use the struct keyword to define this.


using System; namespace ConsoleApplication { public struct Emp { public string Name; public int Age; public int Empno; } class Geeks { static void Main(string[] args) { Person P1; P1.Name = "Ram"; P1.Age = 21; P1.Empno = 80; Console.WriteLine("Data Stored in P1 is " + P1.Name + ", age is " + P1.Age + " and empno is " + P1.empno); } } }


The interface is used as a contract for the class.

All interface methods are implicitly public and abstract.

All interface variables are public static final.

static methods not allowed.

The interface can extend multiple interfaces.

Class can implement multiple interfaces.

Class implementing interface should define all the methods of the interface or it should be declared abstract.

Literals: It is a value used by the variable. This is like a constant value.


class Test { public static void Main(String []args) { int a = 102; int b = 0145 ; int c = 0xFace; Console.WriteLine(a); Console.WriteLine(b); Console.WriteLine(c); } }

Delegates: This is like a pointer. It is a reference type variable which holds the other methods.

2. C# Version 1.2

In this version, some enhancement has been done. They added for each loop in this version which will execute each block until an expression gets false.

3. C# Version 2.0

Generics: Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters.

Anonymous Method: This is a blank method. This is defined using the keyword delegate.

Nullable type: Before this release, we can not define a variable as null. So this release overcomes this.


Covariance and contravariance

Getter/setter separate accessibility: We can use a getter setter for getting and setting the values.

4. C# Version 3.0

This version made C# as a formidable programming language.

Object and collection initializers: With the help of this we can access any field without invoking constructor.

Partial Method: As the name suggests its signature and implementations defined separately.

Var: we can define any variable by using the keyword var.

5. C# Version 4.0

The version introduced some interesting features:

Dynamic Binding: This is like method overriding. Here the compiler does not decide the method which to call.


public class ClassA { public static class superclass { void print() { System.out.println("superclass."); } } public static class subclass extends superclass { @Override void print() { System.out.println("subclass."); } } public static void main(String[] args) { superclass X = new superclass(); superclass Y= new subclass(); X.print(); Y.print(); } }

Named/Optional Arguments

Generic Covariant and Contravariant

Embedded Interop Types

Here the major feature was keyword dynamic. It overrides the compiler at run time.

6. C# Version 5.0

async and await

With these, we easily retrieve information about the context. This is very helpful with long-running operations. In this async enables the keyword await. With the help of await keyword, all the things get asynchronous. So it runs synchronously till the keyword await.

7. C# Version 6.0

This version included below functionalities

Static imports

Expression bodied members

Null propagator

Await in catch/finally blocks

Default values for getter-only properties

Exception filters

Auto-property initializers

String interpolation

name of the operator

Index initializers

8. C# Version 7.0

Out Variables: This variable is basically used when the method has to return multiple values. The keyword out is used to pass to the arguments.

Other important aspects are

Tuples and deconstruction.

Ref locals and returns.

Discards: These are write-only ready variables. Basically this is used to ignore local variables.

Binary Literals and Digit Separators.

Throw expressions

Pattern matching: We can use this on any data type.

Local functions: With the help of this function we can declare the method in the body which is already defined in the method.

Expanded expression-bodied members.

So every version has included new features in the C# which help the developers to solve the complex problems in efficient manner. The next release will be C# 8.0.

Recommended Articles

This is a guide to C# Versions. Here we discuss the basic concept, various types of C# Versions along with examples and code implementation. You can also go through our other suggested articles –

Lg V10 Twrp Recovery: Downloads And How To Install Guide

Supported devices

LG V10, model no. LG-H901

Don’t try this on any other device whose model no. is different than the one mentioned above!

Important: Check your device’s model no. on free Android app called Droid Info. If you see the model no. mentioned above in the app, then use this recovery, otherwise not. BTW, you can check device’s model no. on its packaging box too.


Warranty may be void of your device if you follow the procedures given on this page. You only are responsible for your device. We won’t be liable if any damage occurs to your device and/or its components.


Backup important files stored on your device before proceeding with the steps below, so that in case something goes wrong you’ll have backup of all your important files.

How to Install TWRP

Step 1. Make sure you have unlocked bootloader of your LG V10. Otherwise you cannot install TWRP. For help with this, check out our page on LG V10 bootloader unlock here.

Step 2. Download the TWRP recovery file from above.

Step 2. Create a new folder on your PC and name it as lgv10twrp, and transfer the TWRP file you downloaded above to this folder.

Step 3. In lgv10twrp folder, rename the TWRP recovery file to chúng tôi — this makes it easy to enter command for installing TWRP recovery below in this guide.

So, you now have chúng tôi in the folder called lgv10twrp, right? Cool.

Step 4. Install ADB and Fastboot drivers on your Windows PC. And also LG V10 drivers.

Step 5. Now, open command window in the lgv10twrp folder, in which you have the modified boot and TWRP files. For this:

Now choose Open command window here option from that.

You will see a command window open up, with location directed to lgv10twrp folder.

Step 6. Boot your device into bootloader mode. For this, enter the following command in command window.

adb reboot bootloader

Once you run the above command, it will enter bootloader mode, also called fastboot mode.

Step 7. Test whether fastboot is working alright. Connect the device to PC first, and then in the command window, run the following command.

fastboot devices

→ Upon this, you should get a serial no. with fastboot written after it. If you don’t get fastboot written on cmd window, then it means you need to reinstall adb and fastboot drivers, or change restart PC, or use original USB cable.

Step 8. You have a choice here. If you want install TWRP permanently, then use the following command:

fastboot flash recovery twrp.img

Don’t restart your device just yet.

The above command installed TWRP, but to prevent Android from removing it in favor of default 3e recovery, you need to boot directly into TWRP. Do one simple next step.

(BTW, you have to use the recovery image’s filename in the above command, which in our case is chúng tôi from step 2.)

Step 9. Boot into TWRP recovery now. Use the following command for that.

fastboot boot twrp.img

→ Once you are in TWRP, allow it to mount system as read/write.

Step 10. That’s it. You successfully installed TWRP recovery on your device. To confirm, with device already in TWRP, tap on Reboot, and then on Recovery.

Your LG V10 should load TWRP recovery again.

Root LG V10

Well, check out page for LG V10 root.

As you already have TWRP, simply flash the SuperSU file (version 2.56) to gain root access.

Need help?

Can Sword Of The Hero Break? Repair Guide

The Sword of the Hero is a powerful weapon in The Legend of Zelda: Tears of the Kingdom with a rich history, once wielded by a Hero in an ancient age.

This Sword has a high damage output and a special bonus against water-based enemies.

Unlike other weapons, this one has a special feature. Are you wondering if it can break? And if so, how do you repair it or get a new one?

This article will explore why Sword of the Hero breaks and some practical ways to repair it.

What Is Sword Of Hero?

The Sword of Hero, a weapon in The Legend of Zelda: Tears of the Kingdom, is a one-handed weapon that you can find in a chest inside a massive tree stump in the Dalite Grove. 

It is a Sword used by a Hero in an ancient age and has a strange sense of nostalgia and history.

You can find it in the Gerudo Highlands. Some of the benefits of using the Sword of Hero are mentioned below.

It has a base damage of 17, greater than other one-handed Swords but cannot be fused with other elements.

It is a one-handed weapon, which means you can use it with a shield or another item in your other hand.

Does Sword Of The Hero Break?

Unfortunately, the Sword of the Hero can break if you use it too much.

It does not recharge like the Master Sword. Also, it does not shoot projectiles when at full health.

However, you can repair it by throwing it into a Rock Octrok’s mouth or buying another from a Bargainer Statue for Poes.

Alternatively, you can try looking for another powerful weapon in the game, such as Biggoron Sword, Hero Armor, Master Sword etc.

Continue reading to discover if Fierce Deity Sword and Biggoron Sword can break.

How To Repair Broken Sword Of The Hero?

The Sword of the Hero is a water warrior modifier that gives you a strange nostalgia when you grasp it.

Here are some ascertained techniques you can try to repair the broken Sword of the Hero.

1. With Rock Octorok

If the Sword of the Hero breaks, you can try repairing it using a Rock Octorok.

They will emerge and spit rocks at you if they notice your arrival. Remember, don’t let it damage you or your equipment with its projectiles.

Follow the steps mentioned below to repair the broken Sword of the Hero.

First, you need to find the Rock Octorok, which is found in volcanic regions such as the Eldin region near Goron City.

You can also refer to the map below for more details.

Then, drop your Sword on the ground near the Rock Octorok.

Wait a while; it will eat your Sword, and you will see sparkle effects in the meantime.

After a while, it spits out the Sword, which will be repaired with an additional modifier.

This method of repairing does not work for Champion weapons. Occasionally Octorok fails to repair weapons if you try to repair an item twice.

Note: This method only works once per Rock Octorok per Blood Moon. Therefore, you need to find a different one if you want to repair another weapon shield.

2. Reach The Light Dragon

You can fix the broken Sword of the Hero by finding the Light Dragon and shooting an arrow at its horn.

This will cause the Dragon to drop a scale that can be used to repair the Sword at any blacksmith.

Then, you can take the broken Sword of the Hero to the blacksmith in Zora’s domain, Dento.

He will reforge your weapon for a fee of 5 flints, one diamond and 1000 rupees.

However, Light Dragon sometimes disappears after finding the Master Sword and completing the quest.

Alternatively, you can try infusing the Sword of the Hero to upgrade it at the Goron in Terry’s Town.

This will not restore the weapon’s durability but reset the fused material so you can use it for the next weapon.

The Bottom Line

The Sword of the Hero is powerful but not as powerful as the Master Sword. Yet, you can enhance its power with the methods we mentioned above.

Following the above measures, you can repair the powerful weapon Sword of the Hero and use it to defeat the enemy.

Hopefully, this article is helpful in repairing the Sword of the Hero and helps you decide whether to use it.

Happy gaming with the Sword of the Hero, a mighty blade forged by the gods and imbued with magic.

Explore and learn more about how to get an unbreakable Master Sword and upgrade Yiga Armor.

Apache Kafka Use Cases And Installation Guide

This article was published as a part of the Data Science Blogathon.


Today, we expect web applications to respond to user queries quickly, if not immediately. As applications cover more aspects of our daily lives, it is difficult to provide users with a quick response.


Caching is used to solve a wide variety of these problems, but applications require real-time data in many situations. In addition, we have data to be aggregated, enriched, or otherwise transformed for further consumption or further processing. In these cases, Kafka is helpful.

What is Apache Kafka?

It is an open-source platform that ingests and processes streaming data in real time. Streaming data is generated simultaneously by thousands of data sources every second. Apache Kafka uses a Subscribe and Publish model for reading and writing streams of records. Unlike other messaging systems, Kafka has built-in sharding, replication, higher throughput, and is more fault-tolerant, making it an ideal solution for processing large volumes of messages. More about Kafka integration

What is Apache Kafka Used For?

Kafka Use Cases are numerous and found in various industries such as financial services, manufacturing, retail, gaming, transportation and logistics, telecommunications, pharmaceuticals, life sciences, healthcare, automotive, insurance, and more. Kafka is used wherever large-scale streaming data is processed and used for reporting. Kafka use cases include event streaming, data integration and processing, business application development, and microservices. Kafka can be used in the cloud, multi-cloud and hybrid deployments. 6 Reasons to Automate Your Data Pipeline

Kafka Use Case 1: Tracking web activity

Kafka Use Case 2: Operational Metrics

Kafka can report operational metrics when used in operational data feeds. It also collects data from distributed applications to enable alerts and reports for operational metrics by creating centralized data sources of operations data.

Kafka Use Case 3: Aggregating Logs

Kafka collects logs from different services and makes them available in a standard format to multiple consumers. Kafka supports low-latency processing and multiple data sources, which is great for distributed data consumption.

Use Case 4: Stream Processing

How Does Apache Kafka Work?

It is known as an event streaming platform because you can:

• Publish, i.e., write event streams, and Subscribe, i.e., read event streams, including continuous import and export of data from other applications.

• Reliably store event streams for as long as you want.

• Processing of events stream when they occur or after.

Kafka is highly scalable, elastic, secure, and has a data-distributed publish-subscribe messaging system. The distributed system has servers and clients that work through the TCP network protocol. This TCP (Transmission Control Protocol) helps in transferring data packets from source to destination between processes, applications, and servers. A protocol establishes a connection before communication between two computing systems on a network occurs. Kafka can be deployed on virtual machines, bare hardware, on-premise containers, and in cloud environments.

Kafka’s Architecture – The 1000 Foot View

• Brokers (nodes or servers ) handle client requests for production, consumption, and metadata and enable data replication in clusters. Their several Brokers that can be more than one in a cluster.

• Zookeeper maintains cluster state, topic configuration, leader election, ACLs, broker lists, etc.

• Producer is an application that creates and delivers records to the broker.

• A consumer is a system that consumes records from a broker.

Kafka producers and consumers

Kafka Producers are essentially client applications that publish or write events to Kafka, while Kafka Consumers are systems that receive, read, and process those events. Kafka Producers and Kafka Consumers are completely separate, and they have no dependency. It is one important reason why Apache Kafka is so highly scalable. The ability to process events exactly once is one of Kafka’s guarantees.

Kafka’s themes

Kafka Records

Entries are event information that is stored in a topic as a record. Applications can connect and transfer the record to the topic. The data is durable and can be stored in the topic long until the specified retention period expires. Records can consist of different types of information – information about a web event such as a purchase transaction, social media feedback, or some data from a sensor-driven device. It can be an event that signals another event. These topic records can be processed and reprocessed by applications that connect to the Kafka system. Records can be described as byte arrays that store objects in any format. An individual record will have two mandatory attributes – key and value and two optional attributes – timestamp and header.

Apache Zookeeper and Kafka

Apache Zookeeper is software that monitors and maintains order in the Kafka system and acts as a centralized, distributed coordination service for the Kafka Cluster. It manages configuration and naming data and is responsible for synchronization across all distributed systems. Apache Zookeeper monitors Kafka cluster node states, Kafka messages, partitions, and topics, among other things. Apache Zookeeper allows multiple clients to read and write simultaneously, issue updates, and act as a shared registry in the system. Apache ZooKeeper is an integral part of distributed application development. It is used by HBase, Apache Hadoop, and other platforms for functions such as node coordination, leader election, configuration management, etc.

Use cases of Apache Zookeeper

Apache Zookeeper coordinates the Kafka Cluster. it needs Zookeeper to be installed before it can be used in production. This is necessary even if the system consists of a single broker, topic, and partition. Zookeeper has five use cases – administrator selection, cluster membership, topic configuration, access control lists (ACLs), and quota tracking. Here are some Apache Zookeeper use cases:

Apache Zookeeper chooses Kafka Controller.

A Kafka Controller is a broker or server that maintains a leader/follower relationship between partitions. Each Kafka cluster has only one driver. In the event of a node shutdown, the controller’s job is to ensure that other replicas take over as partition leaders to replace the partition leaders on the node being shut down.

Apache Zookeeper manages the topic configuration.

Zookeeper software keeps records of all topic configurations, including the list of topics, the number of topic partitions for each topic, overriding topic configurations, preferred leader nodes, and replica locations, among others.

The zookeeper Software maintains access control lists or ACLs

The Zookeeper software also maintains ACLs (Access Control Lists) for all topics. Details such as read/write permissions for each topic, list of consumer groups, group members, and the last offset each consumer group got from the partition are all available.

Installing Kafka – Several Steps Installing Apache Kafka on Windows OS

Prerequisites: Java must be installed before starting to install Kafka.

Installation – required files

To install Kafka, you will need to download the following files:

Install Apache ZooKeeper

A. Download and extract Apache ZooKeeper from the above link.

b. Go to the ZooKeeper configuration directory, and change the dataDir Path from “dataDir=/tmp/zookeeper” to “:zookeeper-3.6.3data” in the zoo_sample.cfg file. Please note that the name of the Zookeeper folder may vary depending on the downloaded version.

C. Set system environment variables, add new “ZOOKEEPER_HOME = C:zookeeper-3.6.3”.

d. Edit the system variable named Path and add;%ZOOKEEPER_HOME%bin;

E. Run – “zkserver” from cmd. Now ZooKeeper is up and running on the default port 2181, which can be changed in the zoo_sample.cfg file.

Install Kafka

A. Download and extract Apache Kafka from the above link.

b. In the Kafka configuration directory. replace the chúng tôi path from “log.dirs=/tmp/kafka-logs” to “C:kafka-3.0.0kafka-logs” in Please note that the name of the Kafka folder may vary depending on the downloaded version.

C. In case ZooKeeper is running on a different computer, edit these __ Here, we will define the private IP of the server

listeners = PLAINTEXT:// Here, we need to define the public IP address of the server}

d. Add the below properties to

E. Kafka runs as default on port 9092, and it connects to ZooKeeper’s default port which is 2181.

Running Kafka server.

A. From Kafka installation directory C:kafka-3.0.0binwindows, open cmd and run the below command.

b. The Kafka Server is up and running, and it’s time to create new Kafka Topics to store messages.

Create Kafka Topics

A. Create a new topic as my_new_topic.

b. From C:kafka-3.0.0binwindows, open cmd and run the command below:

Commands For Installing Kafka

Kafka Connectors

How can Kafka be connected to external systems? Kafka Connect is a framework that connects databases, search indexes, file systems, and key-value stores to Kafka using ready-to-use components called Kafka Connectors. Kafka connectors deliver data from external systems to Kafka topics and from Kafka topics to external systems.

Kafka resource connectors

The Kafka Source Connector aggregates data from source systems such as databases, streams, or message brokers. The source connector can also collect metrics from application servers into Kafka topics for near-real-time stream processing.

Kafka sink connectors

The Kafka Sink Connector exports data from Kafka topics to other systems. These can be popular databases like Oracle, SQL Server, SAP or indexes like Elasticsearch, batch systems like Hadoop, cloud platforms like Snowflake, Amazon S3, Redshift, Azure Synapse, and ADLS Gen2, etc.


Kafka has numerous and found in various industries such as financial services, manufacturing, retail, gaming, transportation and logistics, telecommunications, pharmaceuticals, life sciences, healthcare, automotive, insurance, and more. Kafka is used wherever large-scale streaming data is processed and used for reporting.

It is an open-source platform that ingests and processes streaming data in real time. Streaming data is generated simultaneously by thousands of data sources every second.

The Kafka Source Connector aggregates data from source systems such as databases, streams, or message brokers. The source connector can also collect metrics from application servers into Kafka topics for near-real-time stream processing.

Zookeeper software keeps records of all topic configurations, including the list of topics, the number of topic partitions for each topic, overriding topic configurations, preferred leader nodes, and replica locations, among others.

The media shown in this article is not owned by Analytics Vidhya and is used at the Author’s discretion.


Update the detailed information about Guide To Attributes And Arguments Of Ansible Playbook on the website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!