美文网首页
初识Zookeeper

初识Zookeeper

作者: y侃侃 | 来源:发表于2017-12-20 19:34 被阅读0次

    Zookeeper简介

            >开源的针对大型分布式系统可靠协调系统

            > 设计目标:将复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以简单易用的接口提供给用户使用。

            >功能:发布/订阅,分布式协调/通知,配置管理,集群管理,主从协调,分布式锁等。

    Zookeeper特性:

            最终一致性:保证最终数据能够达到一致。(重要功能)

            顺序性:从同一个客户端发起的事务请求,最终会严格地按照其发送顺序被应用到Zookeeper中。

            可靠性:一旦服务器成功的应用一个事务,并完成了客户端的响应,那么该服务所引起的服务端状态变更将会被一直保留下去。

            实时性:Zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。

            原子性:一次数据更新要么成功,要么失败。

            单一视图:无论客户端连接到哪个服务器,看到的数据模型都是一致的。

    基本架构:

    Zookeeper角色:

            Leader(领导者)

            Follower(跟随者)

            Observer(观察者)

    选举方式(分两种)全新启动期和运行期间

    全新启动期:

    运行期间:(更正步骤2改为(3,123)

    数据模型Znode

            Zookeeper特有数据节点Znode,视图类似于linux的文件系统,是系统中最小的数据单元。并且可以保存数据,通过挂在子节点构成数状层次化空间

    节点类型

            节点有三种:

                            持久节点       临时节点      顺序节点

            组合节点类型:

                            持久节点

                            持久顺序节点

                            临时节点

                            临时顺序节点

    搭建中遇到的问题

            1、软连接创建之后使用ll查看存在闪烁情况,检查路径后使用rm移除错误的连接重新创建解决问题。

            2、创建完成后,在三台机器上面启动zookeeper,使用status查看提示进程未启动,检查了防火墙状态。查看日志发现报错大意是myid=5的zookeeper并未启动,原因是因为在zoo.cfg中写入了5台server。在所有机器的进程都启动后,发现只有1,2,4,5能查看到当前角色。进入node03,查看启动日志,发现myid手误打成了33,更正后重新启动,所有节点都能正确查看到角色。

                问题排除建议:检查防火墙,检查myid是否正确创建。遇到问题查看日志,里面或许存在蛛丝马迹。

     未完待续....

    相关文章

      网友评论

          本文标题:初识Zookeeper

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