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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大数据课程C4——ZooKeeper结构运行机制

文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Zookeeper的特点和节点信息; ⚪ 掌握Zookeeper的完全分布式安装 ⚪ 掌握Zookeeper的选举机制、ZAB协议、AVRO; 一、Zookeeper-简介 1. 特点…

TRT4-trt-integrate - 3 使用onnxruntime进行onnx的模型推理过程

前言: onnx是microsoft开发的一个中间格式,而onnxruntime简称ort是microsoft为onnx开发的推理引擎。允许使用onnx作为输入进行直接推理得到结果。 py接口的推理过程: main函数: if __name__ "__main__":session onn…

模拟量采集S_ITR函数(信捷C语言FC)

模拟量采集和转换函数非常简单,这里不再介绍,想了解具体算法的可以查看下面博客文章: PLC模拟量输入 模拟量转换FC S_ITR_博途模拟量转换程序_RXXW_Dor的博客-CSDN博客模拟量采集、工业现场应用特别广泛、大部分传感器的测量值和输出信号都是线型关系,所以我们可以利用线性…

JPA连接达梦数据库导致auto-ddl失效问题解决

现象: 项目使用了JPA,并且auto-ddl设置的为update,在连接达梦数据库的时候,第一次启动没有问题,但是后面重启就会报错,发现错误为重复建表,也就是说已经建好的表没有检测到,…

mysql用户添加

一、连接mysql服务 mysql -u root -p 二、查询用户表 use mysql ; SELECT User, Host FROM mysql.user; 三、新增用户并授权 Create USER dev4rw% IDENTIFIED WITH mysql_native_password BY 新密码; GRANT ALL PRIVILEGES ON *.* TO dev4rw% WITH GRANT OP…

【Spring MVC学习】连接 接收请求参数 响应返回参数

目录 前言:认识Spring MVC 🌷1、什么是MVC? 一、建立连接(5个注解) 🌷1、RequestMapping注解:注册接⼝的路由映射(默认返回页面) 🌷2、ResponseBody注解&#xff1a…

【C++】开源:Redis数据库配置与使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍Redis数据库配置与使用。 无专精则不能成,无涉猎则不能通。。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#xff0c…

智能驾驶中的数据标注

目前,各大自动驾驶汽车制造商都在通过获取高质量的训练数据最大化其数据资产的投入产出比。在海量的智能驾驶数据面前,如何让每个数据都有存在意义?从《数字商业时代》对澳鹏Appen(中国)高级产品总监张童皓的采访中,你或许能找到一…

MySQL数据库远程访问权限设置

MySQL数据库远程访问权限设置 对于初学者小伙伴来说,我们安装mysql到本地服务,再用一些图形化工具链接。一般情况下我们都能链接成功;但是、在模拟真实的环境中我们的数据库不可能直接安装在本地机器上,大多数是在云服务器上&…

头戴式玩具外贸出口EN71检测报告需要什么资料?

EN71是欧盟市场玩具类产品的规范标准。儿童是全社会最关心和爱护的群体,儿童普遍喜爱的玩具市场发展迅猛,同时各类玩具由于各方面质量问题给儿童带来的伤害也时有发生,因此世界各国对本国市场上的玩具的要求正日益变得严格。许多国家都就这些…

Docker Compose容器的快速编排

Docker Compose容器的快速编排 一、Docker Compose简介1、Docker Compose是什么2、Docker Compose三大概念 二、Docker Compose 安装与操作1、环境安装2、YAML文件格式及编写注意事项3、Docker Compose配置常用字段4、Docker Compose常用命令5、Docker Compose文件结构6、删除创…

Java带符号右移(>>)、不带符号右移(>>>)

Java的右移涉及带符号右移(>>)、不带符号右移(>>>)。 对于正数,因为符号位是0,带符号右移和不带符号右移左侧都用0填充,所以结果相同。 对于负数,因为符号位是1&…

四,Eureka 第四章

2.1.3 增加依赖 <!--添加依赖--><dependencies><!--Eureka Server--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>&l…

C++笔记之memset分析

C笔记之memset分析 code review! 文章目录 C\笔记之memset分析1.介绍2.误区总结3.代码一&#xff0c;char数组和uint8_t使用memset4.代码三&#xff0c;int数组使用memset 1.介绍 2.误区总结 参考文章&#xff1a;Cmemset踩坑 3.代码一&#xff0c;char数组和uint8_t使用mem…

网络安全进阶学习第七课——文件包含漏洞

文章目录 一、文件包含概念二、文件包含漏洞原理三、文件包含分类文件包含分为两种&#xff1a; 四、与文件包含相关的配置文件&#xff1a;&#xff08;php.ini文件&#xff09;五、与文件包含有关的函数1、include()2、include_once()3、require()4、require_once() 六、文件…

C# WPF项目创建(基于VS 2019介绍)

1.打开VS&#xff0c;选择《创建新项目》 2.选择《WPF应用》&#xff0c;这里设计两个有.NET Framework框架和.NET core 框架&#xff0c;如图所示&#xff1a; 区别&#xff1a; .NET Framework 框架只能在windows下使用 .NET core 框架支持linux 下运行 3. 项目名称根据需…

qsort的使用及模拟实现

qsort函数是C语言库中提供的一种快速排序&#xff0c;头文件是stdlib.h qsort的使用 qsort函数需要四个参数&#xff1a; 1.排序的起始位置的地址&#xff08;数组名&#xff09;: arr 2.排序元素的个数&#xff1a; sizeof&#xff08;arr)/sizeof(arr[0]) 3.排序元素…

Windows如何安装Django及如何创建项目

目录 1、Windows安装Django--pip命令行 2、创建项目 2.1、终端创建项目 2.2、在Pycharm中创建项目 2.3、二者创建的项目有何不同 2.4、项目目录说明 1、Windows安装Django--pip命令行 安装Django有两种方式&#xff1a; pip命令行【推荐--简单】手动安装【稍微复杂一丢丢…

Yunfly 一款高效、性能优异的node.js企业级web框架

介绍 Yunfly 一款高性能 Node.js WEB 框架, 使用 Typescript 构建我们的应用。 使用 Koa2 做为 HTTP 底层框架, 使用 routing-controllers 、 typedi 来高效构建我们的 Node 应用。 Yunfly 在 Koa 框架之上提升了一个抽象级别, 但仍然支持 Koa 中间件。在此基础之上, 提供了一…

063、故障处理之快速恢复数据

数据丢失快速恢复的重要性 目的&#xff1a;尽快修复数据&#xff0c;恢复业务 快速恢复相关技术对比 常用备份恢复技术 数据快速恢复原理 MVCC 是TiDB数据库原生的一项功能&#xff0c;默认使用无需配置&#xff0c;它使用多个历史快照的方式来维护数据在某个时间点对并…