下载kafka后,安装,查看kafka目录结构,如下:

大数据--kafka 集群搭建,常用命令,kafka生产过程分析,写入流程理解

1).bin中是 kafka的命令

大数据--kafka 集群搭建,常用命令,kafka生产过程分析,写入流程理解

2).config中是kafka的各种配置文件大数据--kafka 集群搭建,常用命令,kafka生产过程分析,写入流程理解

二. 搭建kafka集群,只要改变server.properties文件即可

主要修改以下配置:

broker.id = 0   //每个节点设置,不能重复,从0开始的整数

delete.topic.enable = true  //topic节点可以删除,默认是false

log.retention.hours=168  //设置存储的时间(这个应该代表消费以后。1个小时前的数据删除)

log.segment.bytes=1073741824 //控制日志segment文件的大小,超出该大小则追加到一个新的日志segment文件中(-1表示没有限制)

log.retention.check.interval.ms=300000 //日志片段文件的检查周期,查看它们是否达到了删除策略的设置

log.dirs=/opt/module/kafka/logs  //设置log和数据的目录

zookeeper.connect=hadoop102:2181, hadoop103:2181, hadoop104:2181  //kafka三个节点集群

三. 进入bin 查看几个核心命令  (kafka依赖zookeeper,也是一台一台的启动)

1.kafka-server-start.sh   //启动kafka

2.kafka-server-stop.sh  //停止kafka

3.kafka-topic.sh   //topic操作命令

4.kafka-console-consumer.sh // 消费者命令 测试用

5.kafka-console-producer.sh //生产者命令 测试用

大数据--kafka 集群搭建,常用命令,kafka生产过程分析,写入流程理解

大数据--kafka 集群搭建,常用命令,kafka生产过程分析,写入流程理解大数据--kafka 集群搭建,常用命令,kafka生产过程分析,写入流程理解

四.命令操作

了解常用命令后,我们启动kafka之前,要先启动zk

1.启动zk  /opt/module/zookeeper-3.4.10/bin/zkserver.sh

2.查看zookeeper是否启动   /opt/module/zookeeper-3.4.10/bin/zkserver.sh status   //如果看到了leader 或 follower时,就是启动了

3.启动kafka

bin/kafka-server-start.sh config/server.properties

4.查看kafka

1).util.sh   //这个可以看到各节点的进程号,和进程名称  (经验者告知:启动后,最好把进程计入文档中,以便后续关闭是参考)

2).jps -l 

5.创建topic

bin/kafka-topics.sh --create --zookeeper hadoop102:2181 --partitions 2 --replication-factor 2 --topic first

create:创建

zookeeper :依赖zookeeper

partitions:分区

replication:副本

topic:topic名称

6.查看topic是否创建成功

bin/kafka-topics.sh --list --zookeeper hadoop102:2181

在logs下查看数据文件

大数据--kafka 集群搭建,常用命令,kafka生产过程分析,写入流程理解

7.删除topic

bin/kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first

8.发送消息  【生产者连的是broker】

bin/kafka-console-producer.sh --broker-list hadoop102:9092 --topic first

9.消费消息 【消费者连的是zookeeper】

bin/kafka-console-consumer.sh --zookeeper hadoop102:2181 --from-beginning --topic first

大数据--kafka 集群搭建,常用命令,kafka生产过程分析,写入流程理解

10.查看topic详情

bin/kafka-topic.sh --zookeeper hadoop102:2181 --describe --topic first

五. Kafka生产过程分析

5.1写入方式

producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,开辟了磁盘完整的空间,属于顺序写磁盘(顺序写磁盘效率比所及写内存要高,保障kafka吞吐率)。每一个消息都被赋予一个唯一的offset值。

1)分区的原因

(1).方便在集群中扩展,每个Partition可以通过调整以适应它所在的机器,而一个topic又可以有多个Partition组成,因此整个集群就可以适应任意大小的数据了。

(2).可以提高并发,因为可以以Partition为单位读写了。

2)分区的原则

  (1).指定了partition,则直接使用

  (2).未指定partition但指定了key,通过对key的value进行hash出一个partition

     (3). partition和key都未指定,使用轮询选出一个partition

3).副本(Replication)

     同一个partition可能会有多个replication。

4)生产者写入流程  (这个图ack是ALL) 生产者有一个ack应答机制,机制有0,1,all  (图片来自他视屏)

大数据--kafka 集群搭建,常用命令,kafka生产过程分析,写入流程理解

 

 

 

 

 

相关文章:

  • 2021-07-23
  • 2022-02-09
  • 2021-12-24
  • 2022-01-18
  • 2021-06-06
  • 2021-07-23
  • 2022-12-23
  • 2021-12-15
猜你喜欢
  • 2021-04-21
  • 2022-02-04
  • 2021-12-10
  • 2021-07-11
相关资源
相似解决方案