kafka启动阶段解读

2018-11-01  本文已影响0人  小孩真笨

[TOC]
本文结合kafka启动阶段步骤,一步步分析启动阶段中涉及到的源码过程,后续将从架构到内容,从服务端到客户端,彻底解读kafka的代码。

1. 启动kafka自带的zk实例

启动kafka的第一步是具有一个zk的状态管理实例,可以使用用户自己安装的zk,也可以选择使用kafka发布包自带的zk服务端脚本,启动一个zk服务端实例。鉴于目的是阅读代码,就不在另外安装了,直接利用kafka提供的单实例即可。

bin/zookeeper-server-start.sh 脚本实际有效执行

kafka-run-class.sh   org.apache.zookeeper.server.quorum.QuorumPeerMain

这个类来自kafka 引入的zookeeper-3.4.9.jar 包(该jar位于kafka安装路径下的libs子路径下面),

走读这个QuorunPeerMain 类可以发现,他使用参数后面带的zookeeper.conf 文件初始化了一个zookeeper节点。节点绑定后,会绑定2181端口,允许客户端通过该端口进行连接。

[图片上传失败...(image-d7c640-1541058788750)]

2. 启动kafka的服务端

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

脚本调用的是kafka的核心服务端类库,进入 kafka.Kafka。基于的服务端配置文件是:config/server.properties

在打印的启动信息中,主要包含以下部分:

3. 执行测试

3.1 创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic liyubo

3.2 列出topic

bin/kafka-topics.sh --list --zookeeper localhost:2181
[图片上传失败...(image-d13ad1-1541058788750)]

上一篇下一篇

猜你喜欢

热点阅读