草庐IT

【Kafka】Zookeeper和Kafka集群的安装和配置

一、集群环境说明1.虚拟机:192.168.223.101/103/1052.系统版本:CentOS7.93.JDK版本:11.0.18.0.14.Zookeeper版本:3.7.15.Kafka版本:2.13-2.8.2备注:无论是ZK,还是Kafka的安装,都需要用到JDK,上面给出的ZK和Kafka版本,都已经支持JDK11(JDK11Supported)。这三者之间的兼容关系,感兴趣的可以去对应的官网上查询官方Docs,这里就不做赘述了。二、集群组件部署2.1安装JDK使用root用户安装JDK11,JDK目录为:/usr/jdk-11.0.18.0.1cd/usrtar-xzfjdk

Docker环境 运行Kafka容器失败

网上docker安装kafka环境教程大多数会采用下面命令dockerrun-d--namekafka-p9092:9092\-eKAFKA_BROKER_ID=0-eKAFKA_ZOOKEEPER_CONNECT=192.xxx.xxx.xxx:2181\-eKAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.xxx.xxx.xxx:9092-e\KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092-tbitnami/kafka:2.7.0–name=“容器新名字”为容器指定一个名称;-d:后台运行容器并返回容器ID,也即启动守护

Kafka详解

文章目录1、kafka简单介绍2、kafka使用场景3、kafka基本概念4、kafka集群1、数据冗余2、分区的写入1、使用PartitionKey写入特定Partition2、由kafka决定3、自定义规则3、读取分区数据5、提交策略6、kafka如何保证高并发1、kafka简单介绍kafka是一款分布式、支持分区的、多副本,基于zookeeper协调的分布式消息系统。最大的特性就是可以实时处理大量数据来满足需求。2、kafka使用场景日志收集:可以用kafka收集各种服务的日志,通过已统一接口的形式开放给各种消费者。消息系统:解耦生产和消费者,缓存消息。用户活动追踪:kafka可以记录w

使用kafka-clients的Java API操作Kafka集群的Topic

记录:464场景:在SpringBoot微服务集成Kafka客户端kafka-clients-3.0.0操作Kafka集群的Topic的创建和删除。版本:JDK1.8,Spring Boot2.6.3,kafka_2.12-2.8.0,kafka-clients-3.0.0。Kafka集群安装:https://blog.csdn.net/zhangbeizhen18/article/details/1311560841.微服务中配置Kafka信息1.1在pom.xml添加依赖pom.xml文件:org.apache.kafkakafka-clients3.0.0解析:使用原生的kafka-cl

什么是幂等性?

什么是幂等性?幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。在增删改查4个操作中,尤为注意就是增加或者修改,查询对于结果是不会有改变的,删除只会进行一次,用户多次点击产生的结果一样,修改在大多场景下结果一样,增加在重复提交的场景下会出现。解决幂等性的方案有:1.mysql中设置业务ID,并设置为主键,且唯一2.使用redis或者zk的分布式锁1.什么是幂等性?幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数

什么是幂等性?

什么是幂等性?幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。在增删改查4个操作中,尤为注意就是增加或者修改,查询对于结果是不会有改变的,删除只会进行一次,用户多次点击产生的结果一样,修改在大多场景下结果一样,增加在重复提交的场景下会出现。解决幂等性的方案有:1.mysql中设置业务ID,并设置为主键,且唯一2.使用redis或者zk的分布式锁1.什么是幂等性?幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数

kafka消费组查看和删除

生产环境监控发现kafka存在大量消费组查看消费组信息:./kafka-consumer-groups.sh--bootstrap-serverip:port--list查看特定消费组信息:./kafka-consumer-groups.sh--bootstrap-serverip:port --describe--groupconsole-consumer-49781 多次查看发现消息数在增加,但是offset一直不变,说明这些消费组很多不在消费。删除消费组:./kafka-consumer-groups.sh--bootstrap-serverip:port--delete--group{

Kafka:指定时间消费

需求:在生产环境中,会遇到最近消费的几个小时数据异常,想重新按照时间消费。例如要求按照时间消费前一天的数据,怎么处理?importorg.apache.kafka.clients.consumer.*;importorg.apache.kafka.common.TopicPartition;importorg.apache.kafka.common.serialization.StringDeserializer;importjava.time.Duration;importjava.util.*;publicclassCustomConsumerSeekTime{publicstaticvo

kafka删除topic

1.首先需要在config/server.properties中添加 delete.topic.enable=true属性2.用topiclist找到想要删除的topic名称./bin/kafka-topics.sh--zookeeper192.168.124.54:9092,192.168.124.25:9092,192.168.124.37:9092,192.168.124.102:9092--list3.执行删除命令./bin/kafka-topics.sh--delete--zookeeper192.168.124.116:2181,192.168.124.139:2181,192.1

记一次Kafka 故障Too many open files问题

查看日志发现,有kafka日志报错提示:查看limit.conf文件,发现文件打开数设置的值也没问题,尝试增大值后,但就是提示Toomanyopenfiles,报错就是文件打开数过多。经不懈的百度百度,发现如下图两条关键信息;systemd服务模块最大打开文件数默认为1024,查看其他没改动limit值且未发生故障的机器kafka进程limit最大值为4096,和系统单独的/ect/security/limit.conf设置的值100001没关系。2022090613:01十几次的kafka打开文件句柄数的值均在3590左右,大多没超过4096,故猜测之前62天没有报错过原因于此。由此联想到我