大数据技术 zookeeper源码分析
沉沙 2018-09-29 来源 : 阅读 1575 评论 0

摘要:本篇教程探讨了大数据技术 zookeeper源码分析,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

本篇教程探讨了大数据技术 zookeeper源码分析,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

<

zxid (ZooKeeper Transaction Id,每次请求对应一个唯一的zxid,如果zxid a < zxid b ,则可以保证a一定发生在b之前)

zookeeper采用了递增的事务id号(zxid)来标识事务。所有的提议(proposal)都在被提出的时候加上了zxid。

实现中zxid是一个64位的数字,它高32位是epoch用来标识leader关系是否改变,每次一个leader被选出来,它都会有一个新的epoch,标识当前属于那个leader的统治时期。低32位用于递增计数。

ZXID高32位代表epoch(表示纪元或时代),低32位表示counter(表示递增计数)

ZxidUtils.java:(ZXID工具集)

getEpochFromZxid获取epoch,getCounterFromZxid获取递增计数,makeZxid通过epoch和counter进行移位组合,zxidToString把zxid转换成16进制字符串。

ConfigUtils:(配置工具集):

读取配置文件获取版本号,除此之外读取"server."前缀参数,并进行QuorumPeer.QuorumServer(-1, value),最终打印版本号以及相对应客户端的IP和PORT。

KerberosUtil:(Kerberos是一种网络验证协议,安全网络认证系统,kerberos讲解可参考//www.360doc.com/content/15/0803/10/13047933_489182493.shtml)

通过反射机制的class.forName\getMethod\getDeclaredMethod\invoke调用相关class文件中的getDefaultRealm函数(获取默认域),

相关的class文件依赖于读取系统属性java.verdor加载com.ibm.security.krb5.internal.Config或者是sun.security.krb5.Config。

OSMXBean.java:(操作系统的MXBean工具,该类是com.sun.management.UnixOperatingSystemMXBean的包装类,用于决定使用sun api或者厂商自定义的实现类如IBM),

对外接口提供getOpenFileDescriptorCount(获取当前文件打开数)和getMaxFileDescriptorCount(获取最大文件描述符),

判断如果是UNIX系统则使用反射机制调用com.sun.management.UnixOperatingSystemMXBean获取类当中对应的实现函数,

如果是厂商IBM定制的则调用JAVA包底下的Runtime.getRuntime().exec执行shell命令如"ls /proc/"+ pidhost[0] +"/fdinfo | wc -l"

或者"ulimit -n",其中RuntimeMXBean rtmbean = ManagementFactory.getRuntimeMXBean(),用于获取运行期的MXBean(可了解MBean和MXBean之间的区别,

二者都是JMX中一种可以被管理的资源)。    

本文由职坐标整理发布,学习更多的大数据技术相关知识,请关注职坐标大技术云计算大技术技术频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved