kafka增加副本脚本

钟逸 20 2024-04-17 21:52:20

Kafka相关内容总结(Kafka集群搭建手记)

1、总结 Kafka作为分布式流处理平台,凭借其高可用性、性能和多语言支持,广泛应用于实时数据处理场景。理解其核心组件、优化策略和版本管理,是有效利用Kafka的关键。

2、生产者和消费者(producer和consumer):消息的发送者叫 Producer,消息的使用者和接受者是 Consumer,生产者将数据保存到 Kafka 集群中,消费者从中获取消息进行业务的处理。

3、在Kafka集群(Cluster)中,一个Kafka节点就是一个Broker,消息由Topic来承载,可以存储在1个或多个Partition中。发布消息的应用为Producer、消费消息的应用为Consumer,多个Consumer可以促成Consumer Group共同消费一个Topic中的消息。

4、Broker:Kafka集群包含一个或多个服务器,这种服务器被称为Broker。Kafka的整体架构如下图所示,典型的Kafka集群包含一组发布消息的Producer,一组管理Topic的Broker,和一组订阅消息的Consumer。

5、在 Kafka 集群中会有一个或多个 broker,其中有一个 broker 会被选举为控制器(Kafka Controller),它负责管理整个集群中所有分区和副本的状态。

如何在kafka中创建topic

1、所以执行上面命令将会创建一个名为mytest的topic,该topic下面有1个分区,并且该分区只有1个副本。

2、示例中将向 test-topic 主题发送三条消息。消息消费者 和消息生产者类似,这里用 KafkaConsumer 类来创建一个消息消费者,该类的构造函数入参也是一系列属性值。bootstrap. servers 和生产者一样,表示 Kafka 集群。

3、Kafka创建topic命令很简单,一条命令足矣:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic test 。

4、可以看到刚才新建的24个partition,比如partition 5, 他的leader是broker 59,也就是xxx.59这台机器。

5、Partition: 消息的分区,Partition是一个物理上的概念,相当于一个文件夹,Kafka会为每个topic的每个分区创建一个文件夹,一个Topic的消息会存储在一个或者多个Partition中。

Kafka集群部署

1、在Kafka集群(Cluster)中,一个Kafka节点就是一个Broker,消息由Topic来承载,可以存储在1个或多个Partition中。发布消息的应用为Producer、消费消息的应用为Consumer,多个Consumer可以促成Consumer Group共同消费一个Topic中的消息。

2、kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。

3、由于之前的项目用到Kafka,在这里也记录一下。

4、优势: 在性能方面kafka可以说是业界非常优秀的一款中间件,在常规的机器配置下,一台机器可以达到每秒几十万的QPS。

5、Broker:Kafka集群包含一个或多个服务器,这种服务器被称为Broker。Kafka的整体架构如下图所示,典型的Kafka集群包含一组发布消息的Producer,一组管理Topic的Broker,和一组订阅消息的Consumer。

Kafka动态调整topic副本因子replication-factor

1、实际项目中我们可能在创建topic时没有设置好正确的replication-factor,导致kafka集群虽然是高可用的,但是该topic在有broker宕机时,可能发生无法使用的情况。

2、默认情况下Kafka对应的topic的replica数量为1,即每个partition都有一个唯一的leader,为了确保消息的可靠性,通常应用中将其值(由broker的参数offsets.topic.replication.factor指定)大小设置为大于1,比如3。

3、kafka 副本设置大于节点数,虽然是高可用的,但是该topic在有broker宕机时,可能发生无法使用的情况。topic一旦使用又不能轻易删除重建,因此动态增加副本因子就成为最终的选择。

4、所谓的副本机制(Replication),也可以称之为备份机制,通常是指分布式系统在多台网络互联的机器上保存有相同的数据拷贝。

5、主题和分区可以理解为:topic是逻辑划分,kafka通过topic进行区分消息,topic的数据会被存储到日志中,如果数据量太大可以引入partion(同时提高读写吞吐量)来分段存储数据。

6、创建topic时除了需要zookeeper的地址参数外,还需要指定topic的名称、副本因子replication-factor以及分区个数partitions等必选参数 ,还可以包括disable-rack-aware、config、if-not-exists等可选参数。

kafka-docker上使用+常用指令

1、docker exec -it zookeeper /bin/sh 这时查看zk节点只有一个zookeeper docker退出当前容器 快捷键:第一次尝试启动容器是用的第一种方式,后面发现在容器外面连接不了kafka,可能是因为生成的kafka地址是容器内地址。

2、按照菜鸟的步骤,使用yum安装即可。常用指令如下图,直白用法点我,官方介绍点击我备注:RUN命令在image文件的构建阶段执行,执行结果都会打包进入image文件;CMD命令则是在容器启动后执行。

3、一些最常用的指令如下:Docker Compose 在继续下一个容器之前不会等待容器准备就绪。为了控制我们的执行顺序,我们可以使用“ 取决于 ”条件, depends_on 。

上一篇:时空召唤金币礼包领取
下一篇:手游梦幻西游狮驼装备
相关文章
返回顶部小火箭