kafka是什么,怎么用?
一、kafka集群搭建
注意的地方:
log.Dirs 这个配置,是存储真实数据的,不是log日志。
delete.topic.enable 这个配置大家注意,如果我们不配置,那么删除Topic的时候,不会真正的删除掉,会做一个标记,那么我们需要手动的去删除所有配置。如果配置了的话,就真正的删除了。
二.kafka简介
Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统
Kafka的优势在于:
- 可靠性:Kafka是一个具有分区机制、副本机制和容错机制的分布式消息系统
- 可扩展性:Kafka消息系统支持集群规模的热扩展
- 高性能:Kafka在数据发布和订阅过程中都能保证数据的高吞吐量。即便在TB级数据存储的情况下,仍然能保证稳定的性能。
三、kafka组件
1.生产者:Producer 是消息生成的源头,负责生产消息并发送到kafka服务器上
2.消费者:Consumer ,负责消费kafka服务器上的消息
3.主题:Topic ,由用户定义配置,用于建立生产者和消费者之间的订阅关系
生产者发送指定的消息到指定的Topic,消费者从这个Topic消费信息
4.消息分区:Partition,一个Topic 下面有多个分区,也是用户指定的
分区存在主从结构,zookeeper作用在该上有leader和follower
leader负责读写,follower负责同步数据
5.Broker :kafka的服务器ID,一台机器叫一个Broker
6.消费者组:Group ,用于归属同一消费者,在kafka中多个消费者可以共同消费同一个topic下的消息,每个消费者消费其中一部分消息,这些消费者据组成一个分组,拥有同一个分组名称
消费者可以消费一个或者多个分区的数据,相反,一个分区数据同一个分区只能被一个消费者消费
7.Offset
偏移量拉去数据的时候需要知道消息在文件中的偏移量,然后通过偏移量拉去
四、使用场景
1、日志收集
index是字节偏移量存储的是元数据,log存储的是真实的数据
2.消息系统
3.运营指标
4.流式处理
sparkstreaming,flink优于spark
五、kafka的常用命令
新建一个topic
./bin/kafka-topics.sh --create --zookeeper hadoop04:2181,hadoop05:2181,hadoop06:2181 --partition 3 --replication-factor 3 --topic test-0
test-0是topic的名字
replication-factor 3 副本数
topic存储的是元数据,通过它找到真实的数据
改变分区
./bin/kafka-topics.sh --alter --zookeeper 192.168.14.131:2181,192.168.14.131:2182,192.168.14.131:2183 --partition 5 --topic test03
分区信息查询
./bin/kafka-topics.sh --describe --zookeeper hadoop04:2181,hadoop05:2181,hadoop06:2181 --topic test-0
结果为:leader主分区(broker Id) replicationfactor副本数 Isr是否存活(存储的顺序)
Topic:test-0 PartitionCount:3 ReplicationFactor:3 Configs:
Topic: test-0 Partition: 0 Leader: 0 Replicas: 0,2,1 Isr: 0,2,1
Topic: test-0 Partition: 1 Leader: 1 Replicas: 1,0,2 Isr: 1,0,2
Topic: test-0 Partition: 2 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0
查询语句:
bin/kafka-topics.sh --list --zookeeper hadoop04:2181,hadoop05:2181,hadoop06:2181
删除语句
bin/kafka-topics.sh --delete --zookeeper hadoop04:2181,hadoop05:2181,hadoop06:2181 --topic test-0
结果是test-0 - marked for deletion
表示不能真正的删除只是做了个标记要删除取zookeeper去真正删除(这个配置如果设置为true可以真正删除,设置false不能删除)
#删除topic需要server.properties中设置delete.topic.enable=true否则只是标记删除
delete.topic.enable=false
rmr /brokers/topics/test-0 ,删除client中的brokers中topic对应的
rmr /config/topics/test-0 ,删配置
rmr /admin/delete_topics,删除admin中的标记为删除的topics
分区设置后只可以增加不可以减少
六API操作
启动生产者
./bin/kafka-console-producer.sh --broker-list 192.168.14.131:9092,192.168.14.132:9092,192.168.14.133:9092 --topic test03
启动消费者
./bin/kafka-console-consumer.sh --zookeeper 192.168.247.131:2181,192.168.247.132:2181,192.168.247.133:2181 --topic test03 --from-beginning
kafka是什么,怎么用?相关推荐
- docker安装kafka消息队列
1. 启动zookeeper容器(Zookeeper用于崩溃检测,实现Topic发现,和维护Topic的生产和消费状态) docker run -d --name zookeeper -p 2181: ...
- kafka+zookeeper搭建步骤kafka问题
kafka+zookeeper搭建步骤 帅气的名称被占用关注 0.1392018.12.04 13:48:00字数 1,007阅读 88 vmware 安装centOS7 克隆虚拟为:三台 本地你的I ...
- pykafka连接重要使用pykafka,kafka-python的api开发kafka生产者和消费者
https://pykafka.readthedocs.io/en/latest/api/producer.html 说明文档 </div><h2 class="heade ...
- dockerfile kafka
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a2267378/article/det ...
- 2021年大数据ELK(十九):使用FileBeat采集Kafka日志到Elasticsearch
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 使用FileBeat采集Kafka日志到Elasticsearch 一.需求分 ...
- 2021年大数据Kafka(十二):❤️Kafka配额限速机制❤️
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka配额限速机制 限制producer端的速率 限制c ...
- 2021年大数据Kafka(十一):❤️Kafka的消费者负载均衡机制和数据积压问题❤️
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的消费者负载均衡机制和数据积压问题 一.kafka ...
- 2021年大数据Kafka(十):kafka生产者数据分发策略
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 生产者数据分发策略 策略一:用户指定了partition 策 ...
- 2021年大数据Kafka(九):kafka消息存储及查询机制原理
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 kafka消息存储及查询机制原理 一.Kafka数据存储机制 ...
- 2021年大数据Kafka(八):Kafka如何保证数据不丢失
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka如何保证数据不丢失 一.如何保证生产者数据不丢失 ...
最新文章
- 【并发编程】线程池--Executor框架
- OpenCV边缘检测专题
- 阿里云数据库2020技术年报新鲜出炉,全力开启牛年新征程!
- Cenos6.4下远程连接mysql报错1130
- 拓扑目的 1.Pc9通过van3访问pc10 2.Pc9通过Vlan1\Vlan2访问pc11
- 破解栅栏密码python脚本
- 一加连续点Android版本号,一加6推送国内首个安卓9.0正式版!刘作虎:一加6T出厂就预装...
- 使用Tesseract (OCR)实现简单的验证码识别(C#)+窗体淡入淡出效果
- 项目功能大全,让你的项目一天搞定
- 浏览器汇总介绍--Opera
- 生产任务单下推产品入库单,金蝶KIS旗舰版盘点机PDA生产管理软件
- autolayout教程Android,AndroidAutoLayout的简单阅读
- 计算机控制技术微课,课程名称:微型计算机控制技术课程
- Haar特征提取算法的实现
- android 圆形进度条设置进度条,Android实现带数字的圆形进度条(自定义进度条)
- SonyZ2国行版L50t使用谷歌play服务安装谷歌四件套
- groovy 基础知识
- 中级经济师工商管理和人力资源哪个专业容易考一些?
- html messagebox确定取消,Element MessageBox弹框的详细使用
- 王老六计算机,crc校验和累加和校验哪个好
热门文章
- Render函数详解
- Java打开jnlp
- 网络——码元、速率、波特、带宽
- 八、码元、波特、速率和带宽
- html5图片2d转换器,webp2jpg - 图片格式转换工具
- Blender插件天空地形山水自然环境生成器 TerrainScapes V2.0
- 计算机史前时代名人堂0-总概
- 2022最新阿里云国际注册教程-不用绑定paypal注册
- Idea配置项目的tomcat时候没有Artifacts的最全解决办法
- 【科创人南京行】西祠胡同创始人“响马”刘琥:一生寻找精神绿林,减区块链也许是正确方向...