使用命令进行Apache Kafka操作
1.目标
我们可以在Kafka集群上执行几个Apache Kafka Operations 。因此,在本文中,我们将详细讨论所有Apache Kafka操作。它还包括有助于实现这些Kafka操作的命令。
所以,让我们详细讨论所有Kafka Operations。
使用命令进行Apache Kafka操作
2.什么是Apache Kafka Operations?
下面,我们正在讨论卡夫卡的运作,让我们逐一看到它们:
一个。添加和删除Kafka主题
我们可以自动和手动添加和删除Kafka主题。添加的命令将是:
> bin/Kafka-Topics.sh –zookeeper zk_host:port/chroot –create –Topic my_Topic_name
–partitions –replication-factor –config x=y
此外,Kafka Brokers是由服务器编写和复制的消息。但是,通过复制因子,完成了整个复制过程。尽管如此,请确保标准复制因子应为2或3,以便在没有任何障碍的情况下进行弹跳。
主题分为多个日志,分区计数控制它。但是,分区计数包含以下功能,例如它们应该单独放在一台服务器上。因此,通过这种方式,总共50个分区将产生50个服务器。此外,分区在消费者之间获得最大均衡。基本上,添加主题会覆盖默认设置。
湾 如何修改Kafka主题
我们可以通过添加和删除上下文来最好地修改主题。要添加分区,命令是 -
> bin/Kafka-Topics.sh –zookeeper zk_host:port/chroot –alter –Topic my_Topic_name
–partitions
为了将数据划分为更小的部分,我们使用分区。我们应该按照以下方式添加配置:
阅读Apache Kafka Workflow | Kafka Pub-Sub Messaging
> bin/Kafka-Topics.sh –zookeeper zk_host:port/chroot –alter –Topic my_Topic_name –config x=y
为了删除配置:
> bin/Kafka-Topics.sh –zookeeper zk_host:port/chroot –alter –Topic my_Topic_name –deleteConfig x
另外,要删除整个主题,
> bin/Kafka-Topics.sh –zookeeper zk_host:port/chroot –delete –Topic my_Topic_name
C。杰出的岔路
如果任何Kafka Broker关闭或失败并选择新的分区领导者,Kafka集群将自动检测。但是,如果服务器出现故障或故意将其关闭以进行维护,则会发生这种情况。此外,Kafka支持更优雅的机制来停止服务器,而不仅仅是为了配置更改而销毁服务器。此外,当我们以优雅的方式减少服务器时,它有两个优化:
- 群集将自动检测它,不负责任,Kafka代理是否失败或损坏,如果任何服务器发生故障,它也可以精美地关闭服务器。
- 如果完成,则删除日志恢复的需要,因此进程变得更快。此外,它会在关闭之前将该服务器的所有分区发送到其副本。
d。 在Kafka集群之间镜像数据
镜像过程从源读取材料并写入目标。基本上,这个镜像复制了源代码。然后,将其写在目的地上。
了解Kafka性能调优 - Kafka优化的方法
为了保持流程的稳定性,Mirroring可以提高吞吐量。此外,我们可以使用很多。它将数据从集群传输到集群。但是,请确保源群集和目标群集彼此几乎不同。
基本上,镜子制造商对两者都是一样的。因为镜像后的目标群集数据与镜像之前源群集包含的数据相同。尽管由于其数据复制和不同的偏移和分区,使用不同的地址,两个名称在两个集群中都是相同的。
因此,它提供较少的容错能力,因为镜像集群将复制具有不同地址的消费者中的数据。但是,我们应该使用正常的群集内复制,以获得更多的容错能力。
要从两个输入镜像名为your-Topic的单个主题,该命令为:
> bin/Kafka-run-class.sh Kafka.tools.MirrorMaker
–consumer.config consumer-.properties –consumer.config consumer-
.properties
–producer.config producer.properties –whitelist your-Topic
即 找到消费者的位置
找出消费者的立场非常重要。因此,为了找出消费者的位置,命令是:
> bin/Kafka-run-class.sh Kafka.tools.ConsumerOffsetChecker –zkconnect localhost: –group test
F。扩展您的Kafka群集
通过添加具有新ID的服务器,我们可以随时向集群添加新服务器。此外,我们使用新服务器启动它们。但是除非将分区分配给这些新服务器,否则它们将完全不起作用并且理想地坐下来。因此,现有的需要稍微改变它们的位置,以添加新的位置。
探索Apache Kafka Producer for Beginners
因此,自动将数据移到封面后面。现在,我们必须添加新服务器。但它的位置必须落后于寻求迁移的分区。因此,新引入的服务器在迁移分区后面。此外,迁移分区中的所有数据都将复制到服务器。最终,分区被踢出。
基本上,我们通过3种方式运行这个分区重新分配:
-generate:
将所有主题分配给新服务器非常重要。因此,要在迁移之前将所有分区移动到新服务器,此工具将创建重新分配工具。
-execute:
执行时,该工具在执行计划中按用户的计划启动主题的重新分配。
-verify:
一旦重新分配完成,此工具将验证。该工具还可以讲述状态。它可以完成,正在进行,完成或即使失败也可以。
G。 自动迁移数据
基本上,重新分配工具将主题从当前服务器分配给新服务器。但是,为了移动整个主题而不是移动它的一部分,它会扩展分区。因此,要移动主题的服务器列表包含在单个列表和另一个要从中传输主题的服务器列表中。
此外,从旧服务器到新服务器的Kafka主题通过重新分配工具传输进行传输,并且所有副本也会传输到新服务器,从而保持镜像均匀。
我们来讨论Apache Kafka Streams | 流处理拓扑
首先,要保存主题,请创建JSON文件。创建此文件是:
> cat Topics-to-move.json
{“Topics”: [{“Topic”: “top1”},
{“Topic”: “top2”}],
“version”:
}
top1和top2是主题。
生成JSON文件后引入赋值:
> bin/Kafka-reassign-partitions.sh –zookeeper localhost: –Topics-to-move-json-file Topics-to-move.json –broker-list “,” –generate
作业:
{“version”:,
“partitions”:[{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]},
{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]}]
}
此外,重新分配:
{“Version”:,
“Partitions”:[{“Topic”:”top1″,”partition”:,”replicas”: [,] } ,
{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]},
{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]}]
}
因此,我们将所有分区从主题top1,top2移动到服务器1和2.但是,请确保保存新分配。然后将所有主题top1top2移动到新服务器5和6将很容易。通过这种方式,我们知道实际需要从哪个服务器移动到哪个服务器。
因此,在JSON文件中,将保存主题的新位置。此外,保存主题的当前位置以保留备份,以防我们真的想要将主题带回其旧服务器。
命令是:
> bin/Kafka-reassign-partitions.sh –zookeeper localhost: –reassignment-json-file expand-cluster-reassignment.json –execute
现在,副本分配给现在的副本:
{“Version”:,
“Partitions”: [{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]},
{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]}]
}
- { “版本”:1 ,
- “分区”:[ { “主题”:” TOP1“,”分区”:2 “,副本”:[ 1 ,2 ] } ,
- { “主题”:” TOP1“,”分区”:0 ,”副本”:[ 3 ,4 ] } ,
- { “主题”:” TOP2“,”分区”:2 “,副本”:[ 1 ,2 ] } ,
- { “主题”:” TOP2“,”分区”:0 ,”副本”:[ 3 ,4 ] } ,
- { “主题”:” TOP1“,”分区”:1 ,”副本”:[ 2 ,3 ] } ,
- { “主题”:” TOP2“,”分区”:1 ,”副本”:[ 2 ,3 ] } ]
- }
为了重新分配分区:
{“Version”:,
“Partitions”:[{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]},
{“Topic”:”top1″,”partition”:,”replicas”:[,]},
{“Topic”:”top2″,”partition”:,”replicas”:[,]}]
}
- { “版本”:1 ,
- “分区”:[ { “主题”:” TOP1“,”分区”:2 “,副本”:[ 1 ,2 ] } ,
- { “主题”:” TOP1“,”分区”:0 ,”副本”:[ 1 ,2 ] } ,
- { “主题”:” TOP2“,”分区”:2 “,副本”:[ 1 ,2 ] } ,
- { “主题”:” TOP2“,”分区”:0 ,”副本”:[ 1 ,2 ] } ,
- { “主题”:” TOP1“,”分区”:1 ,”副本”:[ 1 ,2 ] } ,
- { “主题”:” TOP2“,”分区”:1 ,”副本”:[ 1 ,2 ] } ]
- }
此外,要验证重新分配的过程是否完美,请使用以下命令:
> bin/Kafka-reassign-partitions.sh –zookeeper localhost: –reassignment-json-file expand-cluster-reassignment.json –verify
- > bin / Kafka-reassign-partitions.sh -zookeeper localhost:2181 -reassignment-json-file expand-cluster-reassignment.json -verify
以下是验证输出:
Reassignment of partition [top1,] completed successfully
- 分区的重新分配[ TOP1,0 ] 成功完成
分区[top1,1]的重新分配已成功完成分区[top1,2]的重新分配已成功完成分区[top2,0]的重新分配正在进行分区[top2,1]的重新分配已成功完成分区[top2,2]的重新分配进行中。
为了分配,我们可以为新服务器选择一定数量的分区,而不是移动整个分区集。此外,我们必须直接进入执行步骤。
让我们学习Apache Kafka + Spark Streaming Integration
H。 退休服务器
有时很少有服务器处于停用状态。然后,我们需要从退休服务器中删除主题到新服务器。虽然为了帮助这个过程,新工具的生成仍在进行中。
一世。 数据中心
为了维护操作,我们使用数据中心。基本上,他们管理数据管道。我们正在与一些本地集群一起运营,因此,数据中心直接与Kafka中最近的集群进行通信。
基本上,数据中心独立工作。因此,我们可以说这些数据中心可以独立工作,即使中间链接被破坏,也能最好地运行。另外,请记住,内部链接的失败会导致镜像过程失败。而且,只有当链接再次被重新开发时,它才会回到它的实际位置。
此外,在主题中,一些数据中心要求查看完整的数据集。在这种情况下,开始镜像数据集群以显示给新数据中心。然后,这些镜像数据被累积到数据集群,当我们需要应用程序完整读取完整数据时,我们可以读取这些数据集群。
阅读Apache Kafka Security | Kafka的需求和组件
要获得群集,此部署模式非常合适,可以保证延迟。与其他更简单的消息传递工具相比,Kafka工具提供了更高的吞吐量,即使是高延迟。这是因为Kafka在两侧(即来源和目的地)批量处理数据。这里,来源是指生产者,而目的地是指消费者。
此外,请确保防止使用高延迟链接,这将为Kafka技术的写入行为带来高延迟。因此,如果网络出现问题,Kafka将无法在所有位置使用。
所以,这完全是关于卡夫卡运营的。希望你喜欢我们的解释。
3.结论:卡夫卡行动
因此,我们已经详细了解了所有Apache Kafka Operations。我们讨论了不同的Kafka操作,例如添加和删除Kafka主题,修改Kafka主题,区分关闭等等。
使用命令进行Apache Kafka操作的更多相关文章
- Kafka-Docker:使用Docker运行Apache Kafka的步骤
1.目标 在这个Kafka教程中,我们将学习Kafka-Docker的概念.此外,我们将在Kafka中看到Docker的卸载过程.这包括使用Docker 运行Apache Kafka的所有步骤 .除 ...
- 使用JMeter进行Apache Kafka负载测试
1.卡夫卡负载测试 在这个Apache Kafka教程中,我们将了解如何使用Apache JMeter,如何在Apache Kafka上执行Kafka负载测试.此外,这个Kafka负载测试教程教我们如 ...
- Apache Kafka Consumer 消费者集
1.目标 在我们的上一篇文章中,我们讨论了Kafka Producer.今天,我们将讨论Kafka Consumer.首先,我们将看到什么是Kafka Consumer和Kafka Consumer的 ...
- Apache Kafka用例
1.目标 在我们上一篇Kafka教程中,我们讨论了Kafka Pros and Cons.今天,在这篇Kafka文章中,我们将讨论Apache Kafka用例和Kafka应用程序.Kafka是新数据堆 ...
- JMeter进行Apache Kafka负载测试
1.卡夫卡负载测试 在这个Apache Kafka教程中,我们将了解如何使用Apache JMeter,如何在Apache Kafka上执行Kafka负载测试.此外,这个Kafka负载测试教程教我们如 ...
- 顶级Apache Kafka术语和概念
1.卡夫卡术语 基本上,Kafka架构 包含很少的关键术语,如主题,制作人,消费者, 经纪人等等.要详细了解Apache Kafka,我们必须首先理解这些关键术语.因此,在本文“Kafka术语”中, ...
- 为什么Apache Kafka如此受欢迎
1.目标 今天,在这个Kafka教程中,我们将学习所有Kafka功能,如可扩展性,可靠性,耐用性,这些都说明了Kafka如此受欢迎的原因.我们将详细讨论Kafka的每个功能.但在那之前让我们明白什么是 ...
- Apache Kafka简介与安装(二)
Kafka在Windows环境上安装与运行 简介 Apache kafka 是一个分布式的基于push-subscribe的消息系统,它具备快速.可扩展.可持久化的特点.它现在是Apache旗下的一个 ...
- DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优
胡夕 <Apache Kafka实战>作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾就职于IBM.搜狗.微博等公司.国内活跃的Kafka代码贡献者. 前言 虽然目前Apache ...
随机推荐
- BZOJ 2200: [Usaco2011 Jan]道路和航线
Description Farmer John正在一个新的销售区域对他的牛奶销售方案进行调查.他想把牛奶送到T个城镇 (1 <= T <= 25,000),编号为1T.这些城镇之间通过R条 ...
- Python中如何使用线程池和进程池?
进程池的使用 为什么要有进程池?进程池的概念. 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务. 那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程 ...
- selenium模块及类组织关系
问题:webdriver子模块中为什么可以直接使用类Chrome.ChromeOptions.Firefox.FirefoxProfile... 在webdriver的__init__.py文件中已经 ...
- [Dynamic Programming] 198. House Robber
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...
- vscode vue文件格式化没效果
在vscode 中 格式化vue文件没效果 解决办法: 点击头部文件 >首选项>设置 在右侧加入这两句 "vetur.format.defaultFormatter.js&q ...
- delphi调用https接口
delphi调用http接口直接使用idhttp就可以了,但是调用https接口的时候就需要和IdSSLIOHandlerSocket1控件一起使用. 截图中是两个控件的具体配置,需要注意的是IdSS ...
- 2016级移动应用开发在线测试13-Location、Sensor & Network
有趣有内涵的文章第一时间送达! 喝酒I创作I分享 生活中总有些东西值得分享 @醉翁猫咪 1. 充分利用智能手机的GPS定位信息,创造了O2O的商业模式,打通了线上与线下的信息流和商流,极大地推动了移 ...
- Shell的语法
Shell的语法: 变量:字符串.数字.环境和参数: 条件:shell中的布尔值: 程序控制:if.elif.for.while.until.case: 命令列表: 函数: Shell内置命令: 获取 ...
- win10任务栏不显示垃圾的搜狗图标
设置-->时间和语言-->拼写键盘和键入设置-->高级键盘设置-->语言栏选项-->语言栏-->勾选隐藏-->同时去掉在任务栏显示其他语言图标
- numpy.linalg.svd函数
转载自:python之SVD函数介绍 函数:np.linalg.svd(a,full_matrices=1,compute_uv=1) 参数: a是一个形如\((M,N)\)的矩阵 full_matr ...