程序笔记   发布时间:2022-07-18  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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符合强一致性、高可用性!

大佬总结

以上是大佬教程为你收集整理的Zookeeper面试知识全部内容,希望文章能够帮你解决Zookeeper面试知识所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。