博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kafka 源码剖析(一)
阅读量:7019 次
发布时间:2019-06-28

本文共 1148 字,大约阅读时间需要 3 分钟。

  hot3.png

1.基础概述

  在对Kafka使用层面掌握后,进一步提升分析其源码是极有必要的。纵观Kafka源码工程结构,不算太复杂,代码量也不算大。分析研究其实现细节难度不算太大。今天笔者给大家分析的是其核心处理模块,core模块。

如果提交代码 看这里的规范

2.内容

  首先,我们需要对Kafka的工程结构有一个整体的认知度,Kafka 大家最为熟悉的就是其消费者与生产者。然其,底层的存储机制,选举机制,备份机制等实现细节,需要我们对其源码仔细阅读学习,思考与分析其设计之初的初衷。下面,我们首先来看看Kafka源码工程模块分布, Github 上的 Kafka 源码版本为:0.11.0,其工程分布结构如下图所示:

WechatIMG42.jpeg

WechatIMG46.jpeg

WechatIMG47.jpeg

3.源码环境

  阅读Kafka源码需要准备以下环境:

  • JDK
  • IDE(Eclipse,IDEA或者其他)
  • gradle

  关于环境的搭建,大家可以利用搜索引擎去完成,比较基础,这里就不多赘述了。然后在源码工程目录下执行以下命令:

  • gradle idea(编辑器为IDEA)
  • gradle eclipse(编辑器为Eclipse)

  如何选择,可按照自己所使用的编辑器即可。这里笔者所使用的是IDEA,执行命令后,会在源码目录生成以下文件,如下图所示: WechatIMG43.jpeg

4.运行源码

  这里,我们先在config模块下设置server.properties文件,按照自己的需要设置,比如分区数,log的存储路径,zookeeper的地址设置等等。然后,我们在编辑器中的运行中设置相关的启动参数,如下图所示:

WechatIMG44.jpeg

WechatIMG45.jpeg

如图bug 在配置里添加如下代码

vm option:-Xms512M -Xmx1024M -Xss1M -XX:+CMSClassUnloadingEnabled -Dlog4j.configuration=file:/Users/sunzhenya/Work/spark/souceCode/kafka/core/src/main/resources/log4j.properties -Dkafka.logs.dir=/Users/sunzhenya/Work/spark/kafka/logs -Dlog4j.debug=config/log4j.propertiesprogram arguments:config/server.properties

启动步骤 先启动如下代码

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

5 运行结果

image.png

6 总结

本地启动运行代码 下篇分析 server-start 启动方式

转载于:https://my.oschina.net/sunzy/blog/1635509

你可能感兴趣的文章
微信支付开发(5) 扫码并输入金额支付
查看>>
推荐一个计算机视觉图书:python计算机视觉编程
查看>>
Simple iPhone Keychain Access
查看>>
360,京东,在线编程题
查看>>
Large-Scale Video Classification 2017 比赛总结
查看>>
实现celery中出现拥挤队列时,及时发邮件通知
查看>>
飞天遁地、来去自如?Oracle数据库秉承技术当先,用户也来说说看
查看>>
【PMP】Head First PMP 学习笔记 第八章 质量管理
查看>>
使用 Sketch 和 Pixate 构建 Material Design 原型 - 第三部分
查看>>
.NET Core多平台开发体验[3]: Linux (Windows Linux子系统)
查看>>
人工智能将有效帮助数据中心降低运营成本
查看>>
5G NR标准制定加速 将对运营商计划产生重大影响
查看>>
关于iOS的后台下载和断点续传,说一说自己的理解(二,接上篇)
查看>>
模板类中使用iterator成员出错的解决办法
查看>>
iOS中 UIProgressView 技术分享
查看>>
DataStax公司CEO谈大数据和云计算
查看>>
一个通过BackgroundWorker实现WinForm异步操作的例子
查看>>
社交图谱分析:激发大数据时代新活力
查看>>
位操作相关宏与函数
查看>>
第三代身份证原来是这样的 安全最大化不是梦想!
查看>>