Zookeeper的基本概念以及安装

Zookeeper简介

        Zookeeper是一个分布式的(多台机器同时干一件事情),开源的分布式应用程序协调服务,是Google公司Chubby产品,是Hadoop和Base重要的组件,.它是一个分布式应用程序提供一致性的服务的软件,提供的功能包括:配置服务,域名服务,分布式同步,组服务等
        Zookeeper目标封装了大量的负责关键的技术(服务),将简单的接口(API)暴露,高效的使用Aookeeper,稳定性非常高
         在大数据生态圈,Zookeeper(冬雨管理员)是一个非常重要的基础技术,  Hadoop(大象)、Hive(蜜蜂)、Pig(猪)

Zookeeper工作机制

        Zookeeper从设计模式的角度:是一个基于观察者设计模式(一个人干活,有人在盯着他干活),一个分布式服务管理框架
        负责存储和管理数据:

  •                 接收观察者进行注册
  •                 Zookeeper可以将负责注册好的服务通知给客户端
  •                从服务器集群中进行主节点和从节点的管理模式(Master,Salve)

        Zookeeper =文件系统+通知机制

  •                 商家营业务需要入驻
  •                 获取到当前正在营业的所有饭店和餐馆列表
  •                 服务节点下线
  •                 服务节点下线的时间通知
  •                 重新去获取最新的服务列表,并注册监听

Zookeeper特点

        分布式和集群区别?
                在事件的角度来看无论分布式或者是集群,都是很多服务在一起工作,分布式的每台服务器的工作不同,但是结果一致,集群的工作一致,做的是同一件事物
        Zookeeper特点:
          1.是一个leader和多个follower来组成的集群(例如:在狮群中,一头雄狮和N头母狮)。
          2.集群中只要有半数以上的节点存活, Zookeeper就能正常工作(5台服务器挂掉2台,没问题; 4台服务器挂掉2台,就停止)。
          3.全局数据一致性,每台服务器都保存一份相同的数据副本,无论Client连接哪台Server,数据都是一致的。
          4.数据更新原子性,一次数据要么成功,要么失败(不成功便成仁)。
          5.实时性,在一定时间范围内,Client能读取到最新数据。
          6.更新的请求按照顺序执行,会按照发送过来的顺序,逐一执行(发来123 ,就执行123 ,而不是321或者别的)。

Zookeeper数据结构

        1.Zookeeper数据模型类型与Linux操作系统的文件结构,整体上可以看作是一个倒挂着的树。每一 个节点称之为是一个ZookeeperNode。
        2.每一个ZNode是用来保存数据,默认情况下每一个节点的保存数据大小为1MB(元数据)
        3.Zookeeper元数据:表示用来描述数据的数据。又称之为中介数据、中继数据,data about data。主要是用来描述数据的属性信息(这个数据文化件的:大小、创建实现、存放位置、历史访问记录、文件记录等)

Zookeeper应用场景

        提供服务服务:  
         统一命名服务,在分布式的环境下,通常可以对应用程序或者服务器通过一个统一的命名来识别进行访问
        统一配置管理(在统一集群管理基础上实现),在分布式的环境下,配置文件做同步更新操作,可以通过监听来完成
        Zookeeper管理配置文件:将配置文件写入到Zookeeper的某个节点上(需要有一台服务器来维护这个配置文件),告知客户端去监听这一台服务器上的这个文件(/Config), 一旦该节点上的这个文件中的数据发生了改变,Zookeeper就可以通过通知来告诉所有的客户端,客户端即完成了同步(数据同步)
        服务节点动态上下线,客户端能够实时的获取服务器的状态,服务器上下线的状态。服务器实现的运行状态可以被Zookeeper获取(心跳机制)
        软负载均衡,Zookeeper会记录每一台服务器访问的次数,让访问最少的服务器去处理最新的请求,请求被均匀分发到集群中每一台服务器上(雨露均沾的效果)

在Linux虚拟机中安装Zookeeper

 

        1.下载Zookeeper的安装包:    Index of /dist/zookeeper

 

        2.通过xftp软件将压缩包上传到linux中的opt目录下

        3.解压该压缩包

tar -xzvf apache-zookeeper-3.8.0-bin.tar.gz

        4.将该压缩包重命名为zookeeper

mv apache-zookeeper-3.8.0-bin zookeeper

         5.进入到zookeeper的目录下,创建zkData和zkLog两个目录

cd /opt/zookeeper
mkdir zkData
mkdir zkLog

        6.修改配置文件,进入/opt/zookeeper/conf这个路径,复制一份zoo_sample.cfg文件并命名为zoo.cfg。

cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg

        7.编辑zoo.cfg的文件

vi zoo.cfg

        按i或a进入编辑命令,修改配置文件,修改完后按esc,在英文状态下输入 :wq 保存退出

dataDir=/opt/zookeeper/zkData
dataLogDir=/opt/zookeeper/zkLog

        8.查看刚刚的配置

.

cat -n zoo.cfg

        9.进入到zookeeper的bin目录下

cd /opt/zookeeper/bin

        启动zookeeper

./zkServer.sh start

     

        查看zookeeper的状态

./zkServer.sh status

         10.启动zookeeper客户端

./zkCli.sh

        退出zookeeper客户端

quit

        11.终止zookeeper的服务

./zkServer.sh stop

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/6542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多肽试剂1801415-23-5,Satoreotide,UNII-S58172SSTS,应用在多肽标记及修饰上

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ Satoreotide,UNII-S58172SSTS Product structure Product specifications 1.CAS No:1801415-23-5 2.Molecular formula:C58H72ClN15O14S2 3.Molecular weight:1302.9 4.Packa…

手机word文档怎么转换成pdf?分享两种方法

手机word文档怎么转换成pdf?在如今信息化的时代,电子文档已经成为人们日常办公不可或缺的一部分。随着科技的不断进步,电子文档的格式也在不断发展。PDF作为电子文档的一种重要格式,被广泛使用。那么,如何将手机上的Wo…

一)Stable Diffusion使用教程:安装

目前AI绘画最火的当属Midjorney和Stable Diffusion,但是由于Midjourney没有开源,因此我们主要分享下Stable Diffusion,后面有望补上Midjourney教程。 本节主要讲解Stable Diffusion(以下简述SD)的下载和安装。 1&…

MyBatis学习笔记——2

MyBatis学习笔记——2 一、MyBatis核心配置文件详解1.1、environment(环境)1.2、transactionManager(事务管理器)1.3、dataSource(数据源)1.4、properties1.5、mapper 二、在WEB中应用MyBatis(使…

轮播图添加删除

轮播图页面和对话框搭建 页面简单布局 <template><div id"banner"><el-space direction"vertical" :size"20" style"width: 100%"><h1>轮播图管理</h1><div style"text-align: right"&g…

商城-学习整理-基础-分布式组件(三)

目录 一、前言二、Spring Cloud&Spring Cloud Alibaba1、Spring Cloud 与Spring Cloud Alibaba简介2、为什么使用Spring Cloud Alibaba3、版本选择4、项目中的依赖 三、Spring Cloud Alibaba-Nacos作为注册中心1、Nacos1&#xff09;、下载 nacos-server2&#xff09;、启动…

42. 接雨水

42.接雨水 这是一个简单的动态规划问题&#xff0c;虽然leetcode将它归结为困难。 但是我感觉它难度应该达不到&#xff0c;可能归结为中等比较合适0x1 题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨…

python flask 返回中文乱码

使用flask返回数据中带有中文的时候会显示成乱码(ascii)&#xff0c; 中文报文&#xff1a; ABAP中的三大财务报表是&#xff1a;* **资产负债表** * **收入证明** * **现金流量表**这些报表全面概述了公司的财务状况和业绩。* **资产负债表**显示公司在特定时间点的资产、负…

【Python数据分析】Python基础知识篇

&#x1f389;欢迎来到Python专栏~Python基础知识篇 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;Python学习专栏 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大…

LeetCode[1508]子数组和排序后的区间和

难度&#xff1a;Medium 题目&#xff1a; 给你一个数组 nums &#xff0c;它包含 n 个正整数。你需要计算所有非空连续子数组的和&#xff0c;并将它们按升序排序&#xff0c;得到一个新的包含 n * (n 1) / 2 个数字的数组。 请你返回在新数组中下标为 left 到 right &#…

将请求参数数据推送至RabbitMQ队列中并且捕捉消息没有到达交换机的异常

1&#xff1a;自定义mq信息类&#xff08;我的交换这些信息都从nacos上直接取的&#xff0c;怎么从nacos取配置信息看上篇文章&#xff09;&#xff1a; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor;impo…

GB2312编码

说明 GB2312代码表用两个字节表示一个图形字符&#xff0c;两个字节中前面的字节为第一字节&#xff0c;后面的字节为第二字节。 区位码&#xff1a; GB2312代码表分成94个区&#xff0c;范围为1-94&#xff0c;区的编号由第一字节表示&#xff1b;每个区有94位&#xff0c;范…

AE 3D粒子插件trapcode particular 新版本

Trapcode Particular for Mac是目前AE系列的插件中最火爆最流行的一款三维粒子插件&#xff0c;是属于Red Giant Trapcode Suite&#xff08;红巨人粒子特效套装插件&#xff09;中的一款粒子插件。该软件提供了多达一百余种粒子效果供用户使用&#xff0c;可以产生各种各样的自…

【mac系统】mac系统调整妙控鼠标速度

当下环境&#xff1a; mac系统版本&#xff0c;其他系统应该也可以&#xff0c;大家可以自行试下&#xff1a; 鼠标 mac妙控鼠标&#xff0c;型号A1657 问题描述&#xff1a; 通过mac系统自带的鼠标速度调节按钮&#xff0c;调到最大后还是感觉移动速度哦过慢 问题解决&…

【Docker】什么是Docker呢?本文带你洞悉

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;目前专攻C/C、Python、Java等方向&#xff0c;一个正在慢慢前行的普通人。 &#x1f3c0;系列专栏&#xff1a;陈童学的日记 &#x1f4a1;其他专栏&#xff1a;CSTL、蓝桥杯&am…

学习day49

computed和watch的区别 1.computed能完成的功能&#xff0c;watch都可以实现 2.watch能完成的&#xff0c;computed不一定能实现&#xff0c;例如&#xff1a;watch可以进行异步操作 两个重要的小原则 1.所被Vue管理的函数&#xff0c;最好写成普通函数&#xff0c;这样this的指…

90道渗透测试面试题(附答案)

2023年已经快过去一半了&#xff0c;不知道小伙伴们有没有找到自己心仪的工作呀。最近后台收到不少小伙伴说要我整理一些渗透测试的面试题&#xff0c;今天它来了&#xff01;觉得对你有帮助的话记得点个赞再走哦~ 1、什么是渗透测试&#xff1f; 渗透测试是一种评估计算机系统…

【MATLAB】 二维绘图,三维绘图的方法与函数

目录 MATLAB的4种二维图 1.线图 2.条形图 3.极坐标图 4.散点图 三维图和子图 1.三维曲面图 2.子图 MATLAB的4种二维图 1.线图 plot函数用来创建x和y值的简单线图 x 0:0.05:30; %从0到30&#xff0c;每隔0.05取一次值 y sin(x); plot(x,y) %若(x,y,LineWidth,2) 可…

【ShaderToy中图形效果转译到UnityShaderlab案例分享,实现粒子场_ParticleField】

Shader"ShaderToy/ParticleField" {Properties{_iMouse("iMouse", Vector) = (0,0,0,0)}SubSha

解密动态内存管理的奥秘(含内存4个函数)

目录 一.为什么存在动态内存管理 二.动态内存函数的介绍 1. malloc函数&#xff08;memory alloc 内存开辟&#xff09; 函数介绍&#xff1a; malloc函数使用举例代码&#xff1a; 2.free&#xff08;释放&#xff09; 函数介绍&#xff1a; 代码的示例&#xff1a…