zoukankan      html  css  js  c++  java
  • Zookpeer的原理和用法

      zookeeper的核心概念是znode,可以在分布式环境中存储少量的数据。其数据存储在配置文件中的zoo.cfg中的dataDir ,默认值为dataDir = /temp/zookeeper,这个会在电脑重启后丢失,所以在学习和使用的过程中,要注意修改。

      在分布式环境中,要注意配置其他节点的位置,比如

    #server.每个节点服务编号=服务器ip地址:集群通信端口:选举端口
    
    server.1=bigdata-pro01.kfk.com:2888:3888
    
    server.2=bigdata-pro02.kfk.com:2888:3888
    
    server.3=bigdata-pro03.kfk.com:2888:3888  

       节点服务编号需要在dataDir新建文件myid,然后可以写入1,2,或者3,这样server就可以相互通信了。

      Zookeeper不仅可以保持分布式事物中,数据一致性,还提供监听机制Watcher,数据发生变更了会通知订阅者,以便订阅者做出响应。然后就是编写Zookeeper的应用,这需要有一个好用的客户端组件,幸好有netflix开源了一套curator组件,详细参考博文:https://www.cnblogs.com/java-zhao/p/7350945.html

      操作Zookeeper的节点较为简单,主要还是看一下,是怎么监听节点的。curator监听节点的机制是用本地缓存,Zookeeper中的数据比较。其源码在包中: 

    org.apache.curator.framework.recipes.cache。 可以看到,里面有三个node,就是代表三种监听方式:本节点(NodeCache), 直接子节点(PathChildrenCache), 完全子节点(TreeCache)。

      

    参考博文:

      treeCache的监听: https://blog.csdn.net/xiaoxiaoxuanao/article/details/52871240

      zookeeper原理:https://blog.csdn.net/liyiming2017/article/details/83035157  

  • 相关阅读:
    HDU1007
    DFA
    netstat
    Sangfor
    JS 基础逻辑关系
    正则表达式
    JS中的DOM
    HTML、CSS、JS面试题
    JS作用域和作用域链
    JS String与正则表达式
  • 原文地址:https://www.cnblogs.com/Robin008/p/12961424.html
Copyright © 2011-2022 走看看