kafka启动阶段解读

[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

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

  • 基础环境信息
    • jdk信息
    • 系统os信息
    • 启动和运行用户信息
  • zk连接信息
  • kafka 集群信息
    • 日志存储(默认是/tmp/kafka-logs),包含清理策略(默认五分钟)
    • 客户端连接信息:端口(9092)等
    • 在zk中创建brokercontroller等信息

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)]

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 大致可以通过上述情况进行排除 1.kafka服务器问题 查看日志是否有报错,网络访问问题等。 2. kafka p...
    生活的探路者阅读 7,742评论 0 10
  • 一、入门1、简介Kafka is a distributed,partitioned,replicated com...
    HxLiang阅读 3,673评论 0 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,545评论 19 139
  • 各行其是,别做评判。你无需为任何事情找理由,只要找到动因就够了。找到你经验的动因。经验产生自我的观念,观念产生创造...
    王泽华wzh阅读 455评论 0 1
  • 越来越觉得周总结的重要性,瞬间这一周又过去了,仔细翻看微博和笔记本才记得这周的所行所事。 这一周看的电影比较多。 ...
    DL诺尔阅读 211评论 0 1

友情链接更多精彩内容