Zookeeper面试知识

1、Zookeeper简介

Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。

2、Zookeeper搭建(理解)

复制代码
1、上传安装包到master并解压
    tar -xvf zookeeper-3.4.6.tar.gz

2、配置环境变量
    vim /etc/profile

    export ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.6
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
    
    source /etc/profile


3、修改配置文件
    cd conf
    cp  zoo_sample.cfg zoo.cfg

    修改
    dataDir=/usr/local/soft/zookeeper-3.4.6/data

    增加
server.0=master:2888:3888
server.1=node1:2888:3888
server.2=node2:2888:3888

4、同步到其它节点
    scp -r zookeeper-3.4.6 node1:`pwd`
    scp -r zookeeper-3.4.6 node2:`pwd`
    
    配置node1和node2的环境变量
    scp /etc/profile node1:/etc/
    scp /etc/profile node2:/etc/

    在所有节点执行
    source /etc/profile


4、创建/usr/local/soft/zookeeper-3.4.6/data目录,所有节点都要创建

    mkdir /usr/local/soft/zookeeper-3.4.6/data

    在data目录下创建myid文件
    vim myid 
    master,node1,node2分别加上0,1,2

5、启动zk,
    zkServer.sh start  三台都需要执行
    
    zkServer.sh status 查看状态

    当有一个leader的时候启动成功


连接zk
    zkCli.sh

    zk  是一个目录结构 ,每个节点可以存数据,同时可以有子节点

zk shell

    创建目录
    create /test test
    create /test/a 1


    获取数据
    get /test
 
    ls /test

    delete 只能删除没有子节点的节点
    rmr /test  删除节点


重置zk
1、杀掉所有zk进程
kiil -9 pid

2、删除data目录下的version文件, 所有节点都要删除
rm -rf /usr/local/soft/zookeeper-3.4.6/data/version-2

2、启动zk
zkServer.sh start
复制代码

3、选举机制

半数机制:2n+1,安装奇数台

10台服务器:3台

20台服务器:5台

100台服务器:11台

台数多,好处:提高可靠性;坏处:影响通信延时

4、常用命令

ls、get、create

5、讲一讲什么是CAP法则?Zookeeper符合了这个法则的哪两个?(扩展)

CAP法则:强一致性、高可用性、分区容错性;

Zookeeper符合强一致性、高可用性!

posted @   坤坤无敌  阅读(49)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示