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

相关文章

本地搭建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

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE