zoukankan      html  css  js  c++  java
  • Zookeeper 应用

    1. 应用场景

    • Zookeeper提供的服务包括:统一命名服务,统一配置管理,统一集群管理,服务器节点动态上下线,软负载均衡等。

    2. 配置修改

    // 安装路径下的:conf/zoo_sample.cfg 修改为 zoo.cfg
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/自定义路径/zookeeper-3.4.14/data
    // 日志
    dataLogDir=/自定义路径/zookeeper-3.4.14/datalog
    // 端口
    clientPort=2181
    

    3. 操作单节点 Zookeeper

    // 3.1. 启动Zookeeper
    bin/zkServer.sh start
    
    // 3.2. 查看进程是否启动
    jps
    
    // 3.3. 查看状态
    bin/zkServer.sh status
    
    // 3.4. 启动客户端
    bin/zkCli.sh
    
    // 3.5. 退出客户端
    quit
    
    // 3.6. 停止 Zookeeper
    bin/zkServer.sh stop
    

    4. Zookeeper Shell命令操作

    // 4.1. 查看当前 Znode 中所包含的内容
    ls /
    
    // 4.2. 查看当前节点详细数据
    ls2 /
    
    // 4.3. 创建两个普通节点
    create /node001 "realData"
    create /grandfather/father "xiaoming"
    
    // 4.4. 获得节点的值
    get /grandfather/father
    
    // 4.5. 修改节点数据值
    set /grandfather/father "xiaowu"
    
    // 4.6. 删除节点
    delete /grandfather/father
    
    // 4.7. 递归删除节点
    rmr /grandfather
    

    5. 监听器原理

    • 首先,需要有一个main()线程;
    • 在main线程中创建Zookeeper客户端,这时,就会创建两个线程:一个负责网络连接通信(connect),一个负责监听(listener);
    • 通过connect线程将注册的监听事件发送给Zookeeper;
    • 在Zookeeper的注册监听器列表中将注册的监听事件添加到列表中;
    • Zookeeper监听到有数据或路径变化,就会将这个消息发送给listener线程;
    • listener线程内部调用了process()方法;

  • 相关阅读:
    八皇后-递归
    代码复用3
    权限管理系统-角色组模块
    MzBlog分析
    linux shell 终端中文乱码(转)
    LINUX下中文语言包的安装(转)
    每一个程序员必须知道的业内英语词汇(转)
    80后创业故事之:兄弟散伙,创业失败(转)
    尊重用户的习惯审美,不要挑战用户的习惯(转)
    libpcre.so.1 cannot be found
  • 原文地址:https://www.cnblogs.com/linkworld/p/11000132.html
Copyright © 2011-2022 走看看