欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Zookeeper学习笔记

程序员文章站 2022-03-26 19:31:28
第1章 ZooKeeper入门Zookeeper 是一个开源的分布式的,为分布式应用提供协调服务的Apache 项目。ZooKeeper=文件系统+通知机制第2章 ZooKeeper安装安装jdk解压ZooKeeper配置修改:修改/opt/module/zookeeper-3.4.10/conf 这个路径下的zoo_sample.cfg 修改为zoo.cfg打开zoo.cfg 文件,修改dataDir 路径dataDir=/opt/module/zookeeper-3.4.10...

第1章 ZooKeeper入门

  • Zookeeper 是一个开源的分布式的,为分布式应用提供协调服务的Apache 项目。ZooKeeper=文件系统+通知机制

第2章 ZooKeeper安装

  • 安装jdk
  • 解压ZooKeeper
  • 配置修改:
    • 修改/opt/module/zookeeper-3.4.10/conf 这个路径下的zoo_sample.cfg 修改为zoo.cfg
    • 打开zoo.cfg 文件,修改dataDir 路径dataDir=/opt/module/zookeeper-3.4.10/zkData
    • 在/opt/module/zookeeper-3.4.10/这个目录上创建zkData 文件夹
  • 分布式安装需要再配置:
    • zkData目录下创建myid文件,写入ZooKeeper的id
    • zoo.cfg中添加集群部署:server.A=B:C:D,A是myid,B是IP地址、C是监听端口(2888)、D是选举端口(3888)

第3章 ZooKeeper内部原理

选举机制(面试重点)

  • 半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper 适合安装奇数台服务器。
  • 2)Zookeeper 虽然在配置文件中并没有指定Master 和Slave。但是,Zookeeper 工作时,是有一个节点为Leader,其他则为Follower,Leader 是通过内部的选举机制临时产生的。

节点类型

  • 持久节点,持久顺序编号节点
  • 临时节点,临时顺序编号节点

stat结构体

监听器原理(面试重点)

Zookeeper学习笔记

  1. - ZooKeeper客户端(main线程)会创建两个线程(connect,listener),一个负责连接,一个负责监听;
  2. - 通过connect将要注册的监听事件发送给ZooKeeper;
  3. - ZooKeeper将要监听的事件添加至监听列表;
  4. - ZooKeeper监听到有数据或路径变化,会将消息发送给listener线程;
  5. - listener线程内部调用process()方法

写数据流程

Zookeeper学习笔记

  1. 客户端向ZooKeeper发送写数据请求
  2. 如果这个server不是leader会把这个请求发送给leader
  3. leader将请求广播给所有ZooKeeper server
  4. server写成功后会通知leader,leader收到大多数server数据写成功了就说明数据写成功了
  5. 之后leader会通知server数据写成功了,server进一步通知客户端数据写成功了

第4章 ZooKeeper实战(开发重点)

分布式安装

  • 解压,在目录下创建zkData目录,用于存储zk数据
  • 在zkData目录下创建myid,添加2,其他节点为3、4
  • 配置conf目录下zoo.cfg
修改目录:
dataDir=/opt/module/zookeeper-3.4.10/zkData

添加:
#######################cluster##########################
server.2=localhost102:2888:3888
server.3=localhost103:2888:3888
server.4=localhost104:2888:3888
  • 分别启动:bin/zkServer.sh start,启动客户端bin/zkCli.sh

客户端命令行操作

  • help、ls path [watch]、ls2 [watch]、create [-s -e]、get path [watch] 、set、stat、delete、rmr、

API应用

  • 创建ZooKeeper客户端
  • 创建子节点
  • 获取子节点并监听节点变化
  • 判断节点是否存在

监听服务器节点动态上下线

  • 服务器在ZooKeeper上注册/servers
  • 客户端监听/servers/ + child

第5章 企业面试真题

  • 请简述ZooKeeper 的选举机制:半数选举机制
  • ZooKeeper 的监听原理是什么?:
    - ZooKeeper客户端(main线程)会创建两个线程(connect,listener),一个负责连接,一个负责监听;
    - 通过connect将要注册的监听事件发送给ZooKeeper;
    - ZooKeeper将要监听的事件添加至监听列表;
    - ZooKeeper监听到有数据或路径变化,会将消息发送给listener线程;
    - listener线程内部调用process()方法
  • ZooKeeper 的部署方式有哪几种?集群中的角色有哪些?集群最少需要几台机器?:
    - 单机模式、集群模式
    - Leader、Follower
    - 3台
  • ZooKeeper 的常用命令:ls create get delete set

 

 

 

 

本文地址:https://blog.csdn.net/weixin_37680513/article/details/107362183

相关标签: Hadoop