kafka
文章平均质量分 85
做一个有趣的人Zz
天下唯庸人无咎无誉
展开
-
Kafka10:【案例】Kafka集群平滑升级
之前我们在使用Kafka 0.9.0.0版本的时候,遇到一个比较诡异的问题针对消费者组增加消费者的时候可能会导致rebalance,进而导致部分consumer不能再消费分区数据意思就是之前针对这个topic的5个分区只有2个消费者消费数据,后期我动态的把消费者调整为了5个,这样可能会导致部分消费者无法消费分区中的数据。针对这个bug这里有一份详细描述:https://issues.apache.org/jira/browse/KAFKA-2978此bug官方在0.9.0.1版本中进行了修复当原创 2022-03-14 10:05:25 · 1026 阅读 · 0 评论 -
Kafka09:【案例】Flume集成Kafka
一、Flume集成Kafka在实际工作中flume和kafka会深度结合使用1:flume采集数据,将数据实时写入kafka2:flume从kafka中消费数据,保存到hdfs,做数据备份下面我们就来看一个综合案例使用flume采集日志文件中产生的实时数据,写入到kafka中,然后再使用flume从kafka中将数据消费出来,保存到hdfs上面那为什么不直接使用flume将采集到的日志数据保存到hdfs上面呢?因为中间使用kafka进行缓冲之后,后面既可以实现实时计算,又可以实现离线数据备份,原创 2022-03-14 10:05:05 · 3268 阅读 · 2 评论 -
Kafka08:Kafka集群监控管理工具:CMAK安装部署以及使用
一、CMAK介绍现在我们操作Kafka都是在命令行界面中通过脚本操作的,后面需要传很多参数,用起来还是比较麻烦的,那kafka没有提供web界面的支持吗?很遗憾的告诉你,Apache官方并没有提供,不过好消息是有一个由雅虎开源的一个工具,目前用起来还是不错的。它之前的名字叫KafkaManager,后来改名字了,叫CMAKCMAK是目前最受欢迎的Kafka集群管理工具,最早由雅虎开源,用户可以在Web界面上操作Kafka集群。可以轻松检查集群状态(Topic、Consumer、Offset、Bro原创 2022-03-14 10:04:48 · 4973 阅读 · 1 评论 -
Kafka07:Kafka集群参数调优、Kafka Topic命名小技巧
一、JVM参数调忧默认启动的Broker进程只会使用1G内存,在实际使用中会导致进程频繁GC,影响Kafka集群的性能和稳定性通过jstat -gcutil 1000查看到kafka进程GC情况主要看YGC,YGCT,FGC,FGCT这几个参数,如果这几个值不是很大,就没什么问题。YGC:young gc发生的次数YGCT:young gc消耗的时间FGC:full gc发生的次数FGCT:full gc消耗的时间[root@bigdata01 kafka_2.12-2.4.1]# jps原创 2022-03-14 10:04:31 · 1028 阅读 · 0 评论 -
Kafka06:【案例】Java操作Kafka:Java代码实现生产者代码、Java代码实现消费者代码、消费者代码扩展、Consumer消费offset查询
前面我们使用基于console的生产者和消费者对topic实现了数据的生产和消费,,这个基于控制台的生产者和消费者主要是让我们做测试用的。在实际工作中,我们有时候需要将生产者和消费者功能集成到我们已有的系统中,此时就需要写代码实现生产者和消费者的逻辑了。在这我们使用java代码来实现生产者和消费者的功能。一、Java代码实现生产者代码1、创建maven项目先创建maven项目,db_kafka2、添加依赖添加kafka的maven依赖。<dependency> <原创 2022-03-13 10:47:15 · 5075 阅读 · 0 评论 -
Kafka05:Kafka的存储和容错机制:存储策略、容错机制
一、存储策略在kafka中每个topic包含1到多个partition,每个partition存储一部分Message。每条Message包含三个属性,其中有一个是offset。问题来了:offset相当于partition中这个message的唯一id,那么如何通过id高效的找到message?两大法宝:分段+索引kafak中数据的存储方式是这样的:1、每个partition由多个segment【片段】组成,每个segment中存储多条消息,2、每个partition在内存中对应一个inde原创 2022-03-13 10:47:01 · 1250 阅读 · 0 评论 -
Kafka04:Kafka核心扩展内容:Broker扩展、Producer扩展、Consumer扩展、Topic和Partition扩展、Message扩展
一、Broker扩展Broker的参数可以配置在server.properties这个配置文件中,Broker中支持的完整参数在官方文档中有体现。具体链接为:http://kafka.apache.org/24/documentation.html#brokerconfigs针对Broker的参数,我们主要分析两块1:Log Flush Policy:设置数据flush到磁盘的时机为了减少磁盘写入的次数,broker会将消息暂时缓存起来,当消息的个数达到一定阀值或者过了一定的时间间隔后,再fl原创 2022-03-13 10:46:49 · 3537 阅读 · 0 评论 -
Kafka03:【案例】Kafka的快速使用:Kafka中Topic的操作、Kafka中的生产者和消费者
一、Kafka中Topic的操作kafka集群安装好了以后我们就想向kafka中添加一些数据想要添加数据首先需要创建topic那接下来看一下针对topic的一些操作新增Topic:指定2个分区,2个副本,注意:副本数不能大于集群中Broker的数量因为每个partition的副本必须保存在不同的broker,否则没有意义,如果partition的副本都保存在同一个broker,那么这个broker挂了,则partition数据依然会丢失。在这里我使用的是3个节点的kafka集群,所以副本数我就原创 2022-03-13 10:46:31 · 3358 阅读 · 0 评论 -
Kafka02:Kafka安装部署:单机安装部署、集群安装部署
前面我们对Kafka有了一个基本的认识,下面我们就想使用一下Kafka在使用之前,需要先把Kafka安装部署起来Kafka是支持单机和集群模式的,建议大家在学习阶段使用单机模式即可,单机和集群在操作上没有任何区别。注意:由于Kafka需要依赖于Zookeeper,所以在这我们需要先把Zookeeper安装部署起来。一、Zookeeper安装部署1、Zookeeper单机安装Zookeeper02:Zookeeper安装部署【单机】2、Zookeeper集群安装Zookeeper03:Zook原创 2022-03-13 09:29:28 · 1266 阅读 · 0 评论 -
Kafka01:Kafka介绍:消息队列、什么是Kafka?、Kafka组件介绍
一、什么是消息队列在学习Kafka之前我们先来看一下什么是消息队列消息队列(Message Queue):可以简称为MQ例如:Java中的Queue队列,也可以认为是一个消息队列消息队列:顾名思义,消息+队列,其实就是保存消息的队列,属于消息传输过程中的容器。消息队列主要提供生产、消费接口供外部调用,做数据的存储和读取。二、消息队列分类消息队列大致可以分为两种:点对点(P2P)、发布订阅(Pub/Sub)1、共同点针对数据的处理流程是一样的消息生产者生产消息发送到queue中,然后消息原创 2022-03-13 09:29:13 · 423 阅读 · 0 评论