Zookeeper简介,架构,单机版搭建

2024-05-13 12:38

本文主要是介绍Zookeeper简介,架构,单机版搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.Zookeeper简介

Zookeeper-动物园管理者(中文翻译)。好像我们的Hadoop都是一些动物,那这个号称是动物管理员的Zookeeper是什么呢?从字面的意思来看是管理动物的,也就是来管理Hadoop生态圈的,我们看一张图片(来源于网上):

             

我们可以看到,Hadoop的生态圈里具有这么多的技术工具,那Zookeeper是用来做什么的呢?Zookeeper是一个分布式的,开发源码的分布式应用程序协调服务是Google的Chubby一个开源的实现。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。管理大量主机的协同服务。

2.Zookeeper架构

zk(Zookeeper)架构
------------------
    1.Client
        从server获取信息,周期性发送数据给server,表示自己还活着。
        client连接时,server回传ack信息。
        如果client没有收到reponse,自动重定向到另一个server.

    2.Server(包括Leader和Follwer)
        zk集群中的一员,向client提供所有service,回传ack信息给client,表示自己还活着。

    3.ensemble
        一组服务器(Server)。
       zk集群 最小节点数是3.防止zk的leader宕机,不能提供协同服务,zk集群可以允许有(n-1)/2的机器死掉,所以需要3台。

    4.Leader
        如果连接的节点失败,自定恢复,zk服务启动时,完成leader选举。

    5.Follower
        追寻leader指令的节点。


zk工作流程
----------------
    zk集群启动后,client连接到其中的一个节点,这个节点可以leader,也可以follower。
    连通后,node分配一个id给client,发送ack信息给client。
    如果客户端没有收到ack,连接到另一个节点。
    client周期性发送心跳信息给节点保证连接不会丢失。

    如果client读取数据,发送请求给node,node读取自己数据库,返回节点数据给client.


    如果client存储数据,将路径和数据发送给server,server转发给leader。
    leader再补发请求给所有follower。只有大多数(超过半数)节点成功响应,则
    写操作成功。

3.Zookeeper的单机版搭建

zk安装(单机版,s10)
---------------
    1.jdk

    2.下载zookeeper-3.4.9.tar.gz

    3.tar开

    4.符号连接环境变量
        $>ln -s zookeeper-3.4.9 zk

    5.配置zk,复制zoo.cfg.sample-->zoo.cfg
        [zk/conf/zoo.conf]
        # The number of milliseconds of each tick
        tickTime=2000
        initLimit=10
        syncLimit=5
        dataDir=/home/zpx/zookeeper
        clientPort=2181
    
    6.启动zk服务器
        $>bin/zkServer.sh start
    
    7.验证zk
        $>netstat -anop | grep 2181

   8.启动客户端连接到服务器
        $>zkCli.sh -server s10:2181    //进入zk命令行
        $zk]help                        //查看帮助
        $zk]quit                        //退出

 

 

 

 

软件包:

链接:https://pan.baidu.com/s/18f8Cp5nF3fetuYeMRqYcDg 密码:5mbg

这篇关于Zookeeper简介,架构,单机版搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/985727

相关文章

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe