【Kafka】编译 Kafka 源码并搭建源码环

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 搭建源码环境可以看这篇文章:编译 Kafka 源码并搭建源码环境上面有个地方注意,启动的时候,可以传入VM参数来指定 kafka.log.dir 路径(存放各种日志的路径)

作者石臻臻, CSDN博客之星Top5Kafka Contributornacos Contributor华为云 MVP ,腾讯云TVP, 滴滴Kafka技术专家KnowStreaming


KnowStreaming  是滴滴开源的Kafka运维管控平台, 有兴趣一起参与参与开发的同学,但是怕自己能力不够的同学,可以联系我,当你导师带你参与开源!

搭建源码环境可以看这篇文章:编译 Kafka 源码并搭建源码环境

上面有个地方注意,启动的时候,可以传入VM参数来指定 kafka.log.dir 路径(存放各种日志的路径)

在这里插入图片描述

-Dkafka.logs.dir=/Users/shirenchuang/work/IdeaPj/open_source/kafka/logs

按照上面的方法搭建并成功启动了Kafka, 那么当我们想要启动集群怎么办呢?

IDEA同时启动多个Kafka

  1. 配置多个server.properties, 例如server1.properties、server2.properties、server3.properties
    在这里插入图片描述
  2. 修改不同server.properties的配置 注意以下几个配置不要重复了
    ##不同的id
    broker.id=0
    ##不同的端口
    listeners=PLAINTEXT://xxxx:9090
    ##不同的日志存放路径
    log.dirs=k0
  3. 创建多个Application 启动配置
    在这里插入图片描述
  4. -Dkafka.logs.dir=运行日志路径  这个也要注意放到不同路径。 这里的kafka.logs.dir参数就是log4j.properties中的${kafka.logs.dir}参数。
  5. 然后就可以同时启动多个在IDEA中的Broker了,并且都可以本地调试。
    在这里插入图片描述

IDEA开启JMX端口

在这里插入图片描述

-Djava.rmi.server.hostname=127.0.0.1
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9191
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

注意不要端口冲突了,不同broker设置不同的端口。

kafka中添加日志

你在调试代码的时候,可能想加一点日志观察。

 

info(s"打一个启动日志..集群id = $clusterId")

在这里插入图片描述

日志打印到控制台

默认的log4j.properties文件是没有将日志打印到控制台的,既然我们是调试,那么让日志打印到控制台会更加直观。这个时候改下log4j.properties配置文件就行

将原来的配置

log4j.logger.kafka=INFO

改成

log4j.logger.kafka=INFO, kafkaAppender,stdout

调试常用脚本命令

可能你想执行kafka的一些脚本,并且进行debug调试.

那我们可以通过sh脚本内容太找到最终是调用了哪个类,比如 增删改查 Topic

在这里插入图片描述

最终调用的类是 kafka.admin.TopicCommand, 那我们调用这个类的main方法就行了。

在这里插入图片描述

当然,这个类的调用需要有入参,在idea配置传入就行了。 比如,创建一个3分区1副本的Topic。

在这里插入图片描述

相关文章
|
6月前
|
消息中间件 缓存 Kafka
kafka源码解析——第一篇:producer
kafka源码解析——第一篇:producer
83 0
|
消息中间件 Java Kafka
聊聊 Kafka:编译 Kafka 源码并搭建源码环境
聊聊 Kafka:编译 Kafka 源码并搭建源码环境
426 0
|
消息中间件 存储 容灾
初识kafka,先了解这些就够了
初识kafka,先了解这些就够了
89 0
|
消息中间件 Kafka
kafka和zookeeper安装使用踩坑记录
kafka和zookeeper安装使用踩坑记录
|
消息中间件 运维 Kafka
【Kafka】编译 Kafka 源码并搭建源码环
【Kafka】编译 Kafka 源码并搭建源码环
【Kafka】编译 Kafka 源码并搭建源码环
|
消息中间件 存储 算法
知其然而知其所以然,为什么Kafka在2.8版本中会“抛弃”Zookeeper
知其然而知其所以然,为什么Kafka在2.8版本中会“抛弃”Zookeeper
知其然而知其所以然,为什么Kafka在2.8版本中会“抛弃”Zookeeper
|
消息中间件 Kafka 开发工具
Kafka的安装与入门基础(下)
Kafka的安装与入门基础(下)
139 0
Kafka的安装与入门基础(下)
|
消息中间件 存储 缓存
Kafka原理分析之基础篇
Kafka原理分析之基础篇
249 0
Kafka原理分析之基础篇
|
消息中间件 安全 Kafka
Kafka消费过程关键源码解析
Kafka消费过程关键源码解析
224 0
Kafka消费过程关键源码解析
下一篇
无影云桌面