美文网首页
kafka启动阶段解读

kafka启动阶段解读

作者: 小孩真笨 | 来源:发表于2018-11-01 15:53 被阅读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

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

    • 基础环境信息
      • 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)]

    相关文章

      网友评论

          本文标题:kafka启动阶段解读

          本文链接:https://www.haomeiwen.com/subject/tfyxxqtx.html