一、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是什么,怎么用?相关推荐

  1. docker安装kafka消息队列

    1. 启动zookeeper容器(Zookeeper用于崩溃检测,实现Topic发现,和维护Topic的生产和消费状态) docker run -d --name zookeeper -p 2181: ...

  2. kafka+zookeeper搭建步骤kafka问题

    kafka+zookeeper搭建步骤 帅气的名称被占用关注 0.1392018.12.04 13:48:00字数 1,007阅读 88 vmware 安装centOS7 克隆虚拟为:三台 本地你的I ...

  3. pykafka连接重要使用pykafka,kafka-python的api开发kafka生产者和消费者

    https://pykafka.readthedocs.io/en/latest/api/producer.html 说明文档 </div><h2 class="heade ...

  4. dockerfile kafka

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a2267378/article/det ...

  5. 2021年大数据ELK(十九):使用FileBeat采集Kafka日志到Elasticsearch

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 使用FileBeat采集Kafka日志到Elasticsearch 一.需求分 ...

  6. 2021年大数据Kafka(十二):❤️Kafka配额限速机制❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka配额限速机制 限制producer端的速率 限制c ...

  7. 2021年大数据Kafka(十一):❤️Kafka的消费者负载均衡机制和数据积压问题❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的消费者负载均衡机制和数据积压问题 一.kafka ...

  8. 2021年大数据Kafka(十):kafka生产者数据分发策略

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 生产者数据分发策略 策略一:用户指定了partition 策 ...

  9. 2021年大数据Kafka(九):kafka消息存储及查询机制原理

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 kafka消息存储及查询机制原理 一.Kafka数据存储机制 ...

  10. 2021年大数据Kafka(八):Kafka如何保证数据不丢失

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka如何保证数据不丢失 一.如何保证生产者数据不丢失 ...

最新文章

  1. 【并发编程】线程池--Executor框架
  2. OpenCV边缘检测专题
  3. 阿里云数据库2020技术年报新鲜出炉,全力开启牛年新征程!
  4. Cenos6.4下远程连接mysql报错1130
  5. 拓扑目的 1.Pc9通过van3访问pc10 2.Pc9通过Vlan1\Vlan2访问pc11
  6. 破解栅栏密码python脚本
  7. 一加连续点Android版本号,一加6推送国内首个安卓9.0正式版!刘作虎:一加6T出厂就预装...
  8. 使用Tesseract (OCR)实现简单的验证码识别(C#)+窗体淡入淡出效果
  9. 项目功能大全,让你的项目一天搞定
  10. 浏览器汇总介绍--Opera
  11. 生产任务单下推产品入库单,金蝶KIS旗舰版盘点机PDA生产管理软件
  12. autolayout教程Android,AndroidAutoLayout的简单阅读
  13. 计算机控制技术微课,课程名称:微型计算机控制技术课程
  14. Haar特征提取算法的实现
  15. android 圆形进度条设置进度条,Android实现带数字的圆形进度条(自定义进度条)
  16. SonyZ2国行版L50t使用谷歌play服务安装谷歌四件套
  17. groovy 基础知识
  18. 中级经济师工商管理和人力资源哪个专业容易考一些?
  19. html messagebox确定取消,Element MessageBox弹框的详细使用
  20. 王老六计算机,crc校验和累加和校验哪个好

热门文章

  1. Render函数详解
  2. Java打开jnlp
  3. 网络——码元、速率、波特、带宽
  4. 八、码元、波特、速率和带宽
  5. html5图片2d转换器,webp2jpg - 图片格式转换工具
  6. Blender插件天空地形山水自然环境生成器 TerrainScapes V2.0
  7. 计算机史前时代名人堂0-总概
  8. 2022最新阿里云国际注册教程-不用绑定paypal注册
  9. Idea配置项目的tomcat时候没有Artifacts的最全解决办法
  10. 【科创人南京行】西祠胡同创始人“响马”刘琥:一生寻找精神绿林,减区块链也许是正确方向...