

{"id":14686,"date":"2018-05-02T09:30:44","date_gmt":"2018-05-02T09:30:44","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=14686"},"modified":"2018-05-02T09:30:44","modified_gmt":"2018-05-02T09:30:44","slug":"kafka-operations","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/kafka-operations\/","title":{"rendered":"Apache Kafka Operations With Commands"},"content":{"rendered":"<p><span style=\"font-weight: 400\">There are several <strong>Apache Kafka<\/strong> Operations we can perform on our <strong>Kafka cluster<\/strong>. So, in this article, we will discuss all Apache Kafka Operations in detail. It also includes such commands that will help to implement these Kafka Operations.<\/span><\/p>\n<p>So, let&#8217;s discuss all the Kafka Operations in detail.<\/p>\n<h2><span style=\"font-weight: 400\">What are Apache Kafka Operations?<\/span><\/h2>\n<p>Below, we are discussing operations in Kafka, let&#8217;s see them one by one:<\/p>\n<h3>a. Addition and Deletion of Kafka Topics<\/h3>\n<p><span style=\"font-weight: 400\">Both automatically and manually we can add and delete Kafka Topics. The <strong>command<\/strong> \u00a0for the addition will be:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-Topics.sh \u2013zookeeper zk_host:port\/chroot \u2013create \u2013Topic my_Topic_name\n\u2013partitions 20 \u2013replication-factor 3 \u2013config x=y<\/pre>\n<p><span style=\"font-weight: 400\">In addition, <strong>Kafka Brokers<\/strong> are the messages that are written and replicated by the servers. However, by the replication factors, the whole process of replication is done. Although, make sure that the standard replication factor should be either 2 or 3 for bouncing without any obstacles.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The Topic is split into a number of logs and the partition count controls it. However, partition count consists of following features, like they should fit singly on one server. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Hence, in this way, a total of 50 partitions will result in 50 servers. Also, partitions obtain maximum equalizations among the consumers. Basically, the addition of Topics overrides the default settings. <\/span><\/p>\n<h3><span style=\"font-weight: 400\">b.\u00a0<\/span>How to modify the Kafka Topics<\/h3>\n<p><span style=\"font-weight: 400\">We can best modify the Topics by adding as well as deleting contexts. To add partitions the <strong>command<\/strong> is-<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-Topics.sh \u2013zookeeper zk_host:port\/chroot \u2013alter \u2013Topic my_Topic_name\n\u2013partitions 40<\/pre>\n<p><span style=\"font-weight: 400\">To divide the data into smaller sections, we use Partitions. We should follow Adding configs as:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-Topics.sh \u2013zookeeper zk_host:port\/chroot \u2013alter \u2013Topic my_Topic_name \u2013config x=y<\/pre>\n<p><span style=\"font-weight: 400\">In order to delete configs:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-Topics.sh \u2013zookeeper zk_host:port\/chroot \u2013alter \u2013Topic my_Topic_name \u2013deleteConfig x<\/pre>\n<p><span style=\"font-weight: 400\">Also, to delete off the entire Topic,<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-Topics.sh \u2013zookeeper zk_host:port\/chroot \u2013delete \u2013Topic my_Topic_name<\/pre>\n<h3>c.\u00a0Distinguished Turnoff<\/h3>\n<p><span style=\"font-weight: 400\">If any Kafka Broker shutdown or fail and elect new partition leaders, the <strong>Kafka cluster<\/strong> will automatically detect. However, if a server fails or it is brought down intentionally for maintenance, this will occur. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Moreover, Kafka supports a more graceful mechanism for stopping a server than just destroying it for configuration changes. Also, it has two optimizations, when we cut down a server in an elegant way:<\/span><\/p>\n<ol>\n<li>The cluster will automatically detect it, irresponsible of, whether the Kafka broker is failed or broken, if any of the servers is failed, also it can beautifully shut down the servers.<\/li>\n<li><span style=\"font-weight: 400\">If done, then the need of log recovery is removed and so the process becomes faster. Also, it will send all the partitions of that server to its replicas before shutting down. <\/span><\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400\">d.\u00a0<\/span>Mirroring Data between Kafka Clusters<\/h3>\n<p><span style=\"font-weight: 400\">The mirroring process reads the materials from the sources and writes to the destination. Basically, this mirror replicates the sources. Also, then writes it down on the destination.<\/span><\/p>\n<p>In order, to keep the process stay robust, Mirroring increases the throughput. Also, we can use a lot of it. It transfers data from clusters to clusters. However, make sure the source cluster and destination clusters are almost different from each other.<\/p>\n<p>Basically, the mirror maker is the same for both. Because destination cluster data after mirroring is same as the data the source cluster contains before mirroring. Although, with different addresses, both names will be the same in both the clusters due to its data replication and different offsets and partitions.<\/p>\n<p><span style=\"font-weight: 400\">Hence, it provides less fault-tolerance\u00a0because mirror cluster will copy the data in a consumer with a different address. However, we should use normal in-cluster replication in order to obtain more fault-tolerance.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For mirroring a single Topic named as your-Topic from two inputs, the <strong>command<\/strong> is:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-run-class.sh Kafka.tools.MirrorMaker\n\u2013consumer.config consumer-1.properties \u2013consumer.config consumer-\n2.properties\n\u2013producer.config producer.properties \u2013whitelist your-Topic<\/pre>\n<h3>e.<b>\u00a0<\/b>Finding the position of the Consumer<\/h3>\n<p><span style=\"font-weight: 400\">It is very important to find out the positions of the consumers. Hence, for finding out the consumer\u2019s location, the <strong>command<\/strong> is:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-run-class.sh Kafka.tools.ConsumerOffsetChecker \u2013zkconnect localhost:2181 \u2013group test<\/pre>\n<h3>f.\u00a0Expanding Your Kafka Cluster<\/h3>\n<p><span style=\"font-weight: 400\">By adding\u00a0servers up with a new id we can anytime add new servers to the clusters. Further, we start them up with new servers. <\/span><\/p>\n<p><span style=\"font-weight: 400\">But they will not work at all and sit ideally until and unless partitions are assigned to these new servers. Hence, the existing ones need to change their positions a little bit, to add new ones.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Therefore, automatically the data moves behind the covers.\u00a0Now, we have to add the new server. But its position\u00a0must be behind the partition that seeking for migration.\u00a0Hence, the newly introduced server walks behind the migrating partition. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Also, all the data from the migrating partition will be copied to the server. Ultimately, the partition is kicked out.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Basically, in 3 ways we run this reassigning of partitions:<\/span><br \/>\n<strong>\u2013generate:<\/strong><br \/>\n<span style=\"font-weight: 400\">It is important to assign all the Topics to the new servers.\u00a0Hence, to move all the partitions to the new servers prior to migration this tool creates the reassignment tool.<\/span><br \/>\n<strong>\u2013execute:<\/strong><br \/>\n<span style=\"font-weight: 400\">For execution, the tool kicks off the reassignment of the Topics as planned by the user, in the execution plan.<\/span><br \/>\n<strong>\u2013verify:<\/strong><br \/>\n<span style=\"font-weight: 400\">As soon as reassignment completes, this tool verifies. This tool also tells\u00a0about the status. It can be done, ongoing, finished or even if it is failed.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">g.\u00a0<\/span>Migration of Data Automatically<\/h3>\n<p><span style=\"font-weight: 400\">Basically, the reassignment tools assign the Topics from the present servers to the new servers. However,\u00a0in order to move the entire Topic\u00a0rather than moving a part of it,\u00a0it expands the partitions.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Hence, a list of the servers to whom the Topics are to be moved is included in a single list and another list of servers from whom the Topics are to be transferred.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Further, the Kafka Topics from the old to the new servers are transferred by the reassignment tool transfers and all the replicas are also transferred to new servers keeping the mirroring in even mood.<\/span><\/p>\n<p><span style=\"font-weight: 400\">At first, to save the Topics, create the JSON file. Creation of this file is:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; cat Topics-to-move.json\n{\u201cTopics\u201d: [{\u201cTopic\u201d: \u201ctop1\u201d},\n{\u201cTopic\u201d: \u201ctop2\u201d}],\n\u201cversion\u201d:1\n}<\/pre>\n<p><span style=\"font-weight: 400\">Where top1 and top2 are Topics.<\/span><br \/>\n<span style=\"font-weight: 400\">The assignment is introduced, after generating the JSON file:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-reassign-partitions.sh \u2013zookeeper localhost:2181 \u2013Topics-to-move-json-file Topics-to-move.json \u2013broker-list \u201c5,6\u201d \u2013generate<\/pre>\n<p><span style=\"font-weight: 400\">For assignment:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">{\u201cversion\u201d:1,\n\u201cpartitions\u201d:[{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:2,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:0,\u201dreplicas\u201d:[3,4]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:2,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:0,\u201dreplicas\u201d:[3,4]},\n{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:1,\u201dreplicas\u201d:[2,3]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:1,\u201dreplicas\u201d:[2,3]}]\n}<\/pre>\n<p><span style=\"font-weight: 400\">Further, for reassignment :<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">{\u201cVersion\u201d:1,\n\u201cPartitions\u201d:[{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:2,\u201dreplicas\u201d:  [1,2] } ,\n{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:0,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:2,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:0,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:1,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:1,\u201dreplicas\u201d:[1,2]}]\n}<\/pre>\n<p><span style=\"font-weight: 400\">Therefore, we will move all partitions from Topics top1, top2 to the servers 1 and 2. Although, make sure to save the new assignment. Then it will be easy to move all Topics top1top2 to the new servers 5and 6.\u00a0In this way, we know what actually we need to move from where to which server. <\/span><\/p>\n<p><span style=\"font-weight: 400\">So, in the JSON file, the new positions of the Topics are saved. Also, the present positions of the Topics are saved for keeping a backup, in case, we really want to bring the Topics back to their old server.<\/span><\/p>\n<p><strong>The commands are:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-reassign-partitions.sh \u2013zookeeper localhost:2181 \u2013reassignment-json-file expand-cluster-reassignment.json \u2013execute<\/pre>\n<p><span style=\"font-weight: 400\">Now, replica assigning for the present one:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">{\u201cVersion\u201d:1,\n\u201cPartitions\u201d: [{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:2,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:0,\u201dreplicas\u201d:[3,4]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:2,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:0,\u201dreplicas\u201d:[3,4]},\n{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:1,\u201dreplicas\u201d:[2,3]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:1,\u201dreplicas\u201d:[2,3]}]\n}<\/pre>\n<p><span style=\"font-weight: 400\">For the purpose of reassigning partitions:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">{\u201cVersion\u201d:1,\n\u201cPartitions\u201d:[{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:2,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:0,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:2,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:0,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop1\u2033,\u201dpartition\u201d:1,\u201dreplicas\u201d:[1,2]},\n{\u201cTopic\u201d:\u201dtop2\u2033,\u201dpartition\u201d:1,\u201dreplicas\u201d:[1,2]}]\n}<\/pre>\n<p><span style=\"font-weight: 400\">Further, to verify that the process of reassigning is perfect or not, use this <strong>command<\/strong>:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&gt; bin\/Kafka-reassign-partitions.sh \u2013zookeeper localhost:2181 \u2013reassignment-json-file expand-cluster-reassignment.json \u2013verify<\/pre>\n<p>Here is the <strong>Output<\/strong> of Verification:<\/p>\n<pre class=\"EnlighterJSRAW\">Reassignment of partition [top1,0] completed successfully<\/pre>\n<p>Reassignment of partition [top1,1] completed successfully Reassignment of partition [top1,2] completed successfully Reassignment of partition [top2,0] is in progress Reassignment of partition [top2,1] completed successfully Reassignment of partition [top2,2] is in progress.<br \/>\n<span style=\"font-weight: 400\"><br \/>\nIn order to assign, we can select a certain number of partitions to new servers rather than moving the entire set of partitions. Also, we have to directly go to the execute step.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">h.\u00a0<\/span>Retiring Servers<\/h3>\n<p><span style=\"font-weight: 400\">There are times when few servers become de-active. Then, we need to remove the Topics from the retiring server to the new servers. Although to help this process, the generation of new tools is still in process. <\/span><\/p>\n<h3><span style=\"font-weight: 400\">i.\u00a0<\/span>Datacenters<\/h3>\n<p><span style=\"font-weight: 400\">For the purpose of maintenance of operations, we use Data Centers. Basically, they manage the data pipelines. We are towards operating with some local clusters\u00a0hence, the data centers communicate directly to the nearest cluster, in Kafka.<\/span><\/p>\n<p>Basically, the data centers work independently. Hence, we can say those data centers can work independently are best in operation, even if in-between links are broken.<\/p>\n<p>Also, keep in mind that the failure of the inner links leads to the failure of the mirroring process. Moreover, only when the links are redeveloped again it comes back to its actual position.<\/p>\n<p>Moreover, in the Topics, some data centers ask for viewing the complete set of data. In that case, start mirroring the clusters of data to show to the new data centers.<\/p>\n<p>Afterwards, these mirrored data are accumulated to data clusters, that we can read when we need the full reading of the complete data by the applications.<\/p>\n<p>To obtain the clusters, this deployment pattern is very proper and can warranty latency. The Kafka tools offer better throughput than other simpler messaging tools, even with high latency.<\/p>\n<p>It is because Kafka batches the data in both the sides i.e. in the sources as well as in the destinations.\u00a0Here, source\u00a0refers the producer\u00a0whereas the destination\u00a0refers the consumer.<\/p>\n<p>Also, make sure prevent using high latency links, that will introduce high latency for the writing acts of the Kafka technology.\u00a0Because of that if there is the problem in the network, Kafka will not be available in all the locations.<\/p>\n<p>So, this was all about Kafka Operations. Hope you like our explanation.<\/p>\n<h2><span style=\"font-weight: 400\">Conclusion: Kafka Operations<\/span><\/h2>\n<p>Hence, we have seen all the\u00a0Apache Kafka Operations in detail. We discussed different Kafka Operations, such as addition and deletion of Kafka Topics, Modifying the Kafka Topics, Distinguishing the Turnoff and many more.<\/p>\n<p>Still, if you feel any query regarding Kafka Operations, feel free to ask in the comment tab.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are several Apache Kafka Operations we can perform on our Kafka cluster. So, in this article, we will discuss all Apache Kafka Operations in detail. It also includes such commands that will help&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":22964,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[842,3532,3984,4462,7853,7858,7871,7911,7967,11593],"class_list":["post-14686","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kafka","tag-apache-kafka-operations","tag-datacenters","tag-distinguished-turnoff","tag-expanding-your-kafka-cluster","tag-kafka-broker","tag-kafka-cluster","tag-kafka-consumer","tag-kafka-operations","tag-kafka-topics","tag-retiring-servers"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Kafka Operations With Commands - DataFlair<\/title>\n<meta name=\"description\" content=\"Apache Kafka Operations with Commands:Addition,Deletion of Topics,modifyTopics,Distinguished Turnoff,Mirroring Data,Retiring Servers,Datacenters\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/kafka-operations\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Kafka Operations With Commands - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Apache Kafka Operations with Commands:Addition,Deletion of Topics,modifyTopics,Distinguished Turnoff,Mirroring Data,Retiring Servers,Datacenters\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/kafka-operations\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-02T09:30:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/07\/Apache-Kafka-Operations-01-3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Kafka Operations With Commands - DataFlair","description":"Apache Kafka Operations with Commands:Addition,Deletion of Topics,modifyTopics,Distinguished Turnoff,Mirroring Data,Retiring Servers,Datacenters","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/kafka-operations\/","og_locale":"en_US","og_type":"article","og_title":"Apache Kafka Operations With Commands - DataFlair","og_description":"Apache Kafka Operations with Commands:Addition,Deletion of Topics,modifyTopics,Distinguished Turnoff,Mirroring Data,Retiring Servers,Datacenters","og_url":"https:\/\/data-flair.training\/blogs\/kafka-operations\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-05-02T09:30:44+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/07\/Apache-Kafka-Operations-01-3.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Apache Kafka Operations With Commands","datePublished":"2018-05-02T09:30:44+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/"},"wordCount":1506,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/07\/Apache-Kafka-Operations-01-3.jpg","keywords":["Apache Kafka Operations","Datacenters","Distinguished Turnoff","Expanding Your Kafka Cluster","Kafka broker","Kafka Cluster","Kafka consumer","Kafka Operations","Kafka Topics","Retiring Servers"],"articleSection":["Apache Kafka Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/kafka-operations\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/","url":"https:\/\/data-flair.training\/blogs\/kafka-operations\/","name":"Apache Kafka Operations With Commands - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/07\/Apache-Kafka-Operations-01-3.jpg","datePublished":"2018-05-02T09:30:44+00:00","description":"Apache Kafka Operations with Commands:Addition,Deletion of Topics,modifyTopics,Distinguished Turnoff,Mirroring Data,Retiring Servers,Datacenters","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/kafka-operations\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/07\/Apache-Kafka-Operations-01-3.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/07\/Apache-Kafka-Operations-01-3.jpg","width":1200,"height":628,"caption":"Apache Kafka Operations With Commands"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/kafka-operations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Apache Kafka Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/kafka\/"},{"@type":"ListItem","position":3,"name":"Apache Kafka Operations With Commands"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=14686"}],"version-history":[{"count":0,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14686\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/22964"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=14686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=14686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=14686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}