摘要: 这里分析kafka 0.8.2的LogManager logmanager是kafka用来管理log文件的子系统.源代码文件在log目录下. 这里会逐步分析logmanager的源代码.首先看class 初始化部分. 上面这个函数就是kafkaserver里创建logmanager对象的入口.下面看 阅读全文
posted @ 2016-08-02 18:25 vv.past 阅读(1538) 评论(0) 推荐(0) 编辑
摘要: 这里记录kafka源代码笔记.(代码版本是0.8.2.1) kafka的源代码如何下载.这里简单说一下. git clone https://git-wip-us.apache.org/repos/asf/kafka.git kafka 通过官网给出的链接clone项目代码之后.一般只能得到trun 阅读全文
posted @ 2016-08-01 17:44 vv.past 阅读(2271) 评论(0) 推荐(0) 编辑
摘要: 这里记录一些linux 管理中可能会用到的又容易忘的一些小技巧. linux磁盘写入失败,提示磁盘空间不足.一般都会用df -h 或者df -i看是不是磁盘空间不足或者是inode空间不足.发生这种情况的时候.一般都会想通过目录统计来找出哪个目录占用空间比较大或者是哪个目录占用inode比较多. 查 阅读全文
posted @ 2016-07-25 17:11 vv.past 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 这里记录zookeeper编译源代码上的一些细节的问题. 网上不少关于如何使用ant eclipse来构建zookeeper对应的eclipse工程的记录.这里就不再过多赘述.只做简单阐述. 这里主要阐述一下如何不使用任何工具直接使用javac的方式来编译zookeeper项目,并且直接使用java 阅读全文
posted @ 2016-07-22 18:52 vv.past 阅读(1795) 评论(0) 推荐(1) 编辑
摘要: 这里主要分析zookeeper client API的实现方式,以python kazoo的实现代码为蓝本进行逻辑分析. 一.代码框架及介绍 API分为同步模式和异步模式.同步模式是在异步模式的基础上通过一些等待,循环等方式进行实现的. 主要实现逻辑如下: 基本模式就是建立两个线程,一个线程负责发送 阅读全文
posted @ 2016-07-20 16:00 vv.past 阅读(6739) 评论(0) 推荐(1) 编辑
摘要: 这里主要记录zookeeper client通信协议的.在官方的文档里没找到协议相关部分.这里是记录的协议是通过分析客户端代码得来的. 一.通信流程 客户端发起连接,发送握手包进行timeout协商,协商成功后会返回一个session id和timeoout值.随后就可以进行正常通信,通信过程中要在 阅读全文
posted @ 2016-07-15 16:49 vv.past 阅读(1082) 评论(0) 推荐(1) 编辑