美文网首页
ZooKeeper实战

ZooKeeper实战

作者: Bottle丶Fish | 来源:发表于2017-06-07 15:24 被阅读714次

    在学习技术的过程中,我发现程序的版本一直在变,每个人的情况也不一样,在参考网上的教程的时候,都或多或少有这样或者那样的问题,在学习和实践之后发现,最好的学习教程就是Apache的官网,最好的学习方式就是动手操作并总结,下面就按照这种学习方式来总结一下如何“真真切切”地掌握ZooKeeper。(原谅我的调皮,使用了真真切切这个词。但我就是这种感觉,很多组件就是学怎么搭建,然后怎么用,别的什么都不懂,感觉特别不真实 _

    打开官网 http://zookeeper.apache.org

    Paste_Image.png

    Getting Started
    从官网的文档开始学起,点击learn about打开documentation,点击Getting Started,如下图所示(如果打开之后跟下图有所不同,就以打开的为主,这里主要是示范如何使用官方的文档)。

    Documentation

    1.单机模式(Standalone Operation)
    下载zookeeper(下简称zk)之后解压到合适(如果只是测试zk的话,解压到哪里都无所谓,但如果有后续其他组件的学习,对用户和目录的选择都是有影响的)的目录,在conf目录下新建zoo.cfg文件,加入上图中的三个参数,其中要注意的是dataDir指向的目录要事先存在,然后在bin目录下使用zkServer.sh start命令启动zk。

    进入命令行客户端,测试命令:


    Client

    命令行客户端使用完之后,可以使用Java客户端,这就涉及到编程,以及使用命令对应的API了。


    Programming

    打开Programmer's Guide

    Programmer's Guide Paste_Image.png

    zk的数据模型
    ZooKeeper包含一个分层次的命名空间,很像分布式的文件系统. 唯一的不同是除了包含子节点外,命名空间的每个节点还可以关联数据。就像一个扩展的文件系统一样, 文件也可以是目录.。节点的路径(path)总是规范的斜线分隔的绝对路径;绝没有相对路径.。任意的unicode字符都可以做路径名, 除了一些限制。

    Paste_Image.png

    znode节点
    ZooKeeper树中的每一个节点都被称为znode. Znode维护一个stat数据结构, 包含数据变动的版本值, acl变动等(version numbers for data changes, acl changes)。 stat数据结构还包含时间戳(timestamp)。 版本和时间戳可以允许ZooKeeper校验缓存和协同更新。每次znode的数据改变,版本号都会增加。

    Note: 在分布式应用工程学上,单词node 可以指一个通用的主机,服务器, 集群中的一员, 一个客户端进程等。 而在ZooKeeper文档中,znode指数据节点,Server指提供ZooKeeper服务器的机器; quorum peers 指ZooKeeper集群中的服务器; client 指任何使用ZooKeeper的主机或者进程.

    Znode是程序访问的主要对象,它们有以下几个特征值得一说。

    Paste_Image.png
    • 监视Watches
    • 数据访问Data Access
    • 临时节点Ephemeral Nodes
    • 顺序节点Sequence Nodes -- Unique Naming

    从单机模式直观的了解zk,使用命令行客户端敲几个命令,大概了解了解。然后配置集群,读API,用eclipse开发JAVA客户端,使用API做几个demo。在弄清了常用的API之后,就找几个具体的场景应用zk做几个实战的小项目。之后就可以反过来理解官网上的这段话:

    What is ZooKeeper

    这样才算是真切的学习了zookeeper。

    关于在Windows上用eclipse开发,首先说一个小问题,貌似有不少人苦恼eclipse中文字体大小修改问题,默认的eclipse中文字体很小,和英文字体大小完全不在一个调子上,因为默认的eclipse juno中英文字体是Consolas,字体大小是10,但是大家会发现,如果代码中有中文,那中文的字体会比英文的字体小很多,明显的,默认的eclipse juno中英文字体比中文字体大很多,显得中文很模糊。
    解决办法:先调到小5,再调到小四就正常了。
    步骤如下:Window –> Preferences –> General –> Appearance –> Colors and Fonts,在“Colors and Fonts”中选择“Basic”–>”Text Font”,然后点“Edit”,把“大小”里面的值编辑成“小五”即可。然后再次调整到你想要的字号就会发现中英文一般大了。

    相关文章

      网友评论

          本文标题:ZooKeeper实战

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