zookeeper篇-初识zookeeper
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人。
文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。
什么是zookeeper?
- 中间件
- 作用于分布式系统
- 支持java、c语言的api
为什么要用zookeeper?
- 保证事务执行顺序性
没有zookeeper的时候,多台服务器上执行任务我们需要考虑各台服务器上任务的协调,比如事务A在事务B前面执行,由于网络的不稳定性,我们必须考虑到这个问题,但是zookeeper出现后,zookeeper帮我们解决了这部分问题,我们以后不再需要过分专注于分布式协调问题了,我们可以更加专注于业务逻辑的设计。
- 保证数据的实时性
简单来说,就是用户读取到的永远是更新之后的信息以后,用户不会读取到比这个信息更旧的信息。
- 对master主节点管理
zooKeeper给注册到他下面的所有客户端一个编号,然后让这些机器都拥有相同的元数据视图,当Master节点挂掉后,马上启用编号最小的那台机器作为Master节点。
- 封装
zooKeeper的目标就是封装好复杂易出错的关键性服务,将复杂低效不稳定的功能封装成简单易用、性能高效、功能稳定的接口提供给用户,提高用户的开发效率
zookeeper命令
进入zookeeper安装目录下的bin目录,运行一下命令:
- ./zkServer.sh start:启动zookeeper服务器
./zkServer.sh restart:重启zookeeper服务器
./zkServer.sh status:查看当前zookeeper服务器状态,单机为standalone态
./zkServer.sh stop:停止zookeeper服务器
在bin目录下打开zk客户端: 运行./zkCli.sh,然后ls可以查看zookeeper节点结构(节点目录)
zookeeper特性
- 一致性:与Mysql的一致性不同,此指数据按顺序分批入库
- 原子性:所有zookeeper节点对事务的处理,要么全部成功,要么全部失败
- 单一视图:所有zookeeper节点看到的数据是一模一样的
- 可靠性:每次对zookeeper节点的操作都会保存
- 实时性:客户端读取的数据是最新的
zookeeper数据模型
- zookeeper数据模型可以看作tree树结构或linux目录结构
- 每个zk节点有数据、有子节点;每个节点可分为临时节点与永久节点(临时节点session超时或者关闭客户端-服务端连接,则数据丢失,永久节点则不会);每个zk节点有版本号,更新数据时会累加版本号;每个zk节点数据大概几k,不易过大;每个节点都有权限控制列表acr,以控制权限
zookeeper有什么用?
- master选举:主节点挂了之后,会重新进行主节点选举
- 统一修改配置/信息:把对配置/信息的修改部署到任一台服务器,其他服务器会同步该修改操作
- 发布于订阅:发布者把信息存在znode上(tree树结构),订阅者可以去读取该修改
- 提供分布式锁:不同zk服务节点对同一个资源进行操作,则zk节点按顺序获取该资源的分布式锁,再进行操作
OK,如果文章哪里有错误或不足,欢迎各位留言。
创作不易,各位的「三连」是二少创作的最大动力!我们下期见!
zookeeper篇-初识zookeeper的更多相关文章
- 【Zookeeper】初识zookeeper
单机模式 安装并解压: 修改配置文件,conf/zoo.cfg(配置完成后,启动后,可以通过netstat-ano命令查看是否有你配置的clientPort端口号在监听服务) tickTime: zo ...
- 初识zookeeper(1)之zookeeper的安装及配置
初识zookeeper(一)之zookeeper的安装及配置 1.简要介绍 zookeeper是一个分布式的应用程序协调服务,是Hadoop和Hbase的重要组件,是一个树型的目录服务,支持变更推送. ...
- CentOS7 搭建Kafka(一)zookeeper篇
CentOS7 搭建Kafka(一)zookeeper篇 近几年当红小生Kafka备受各路英雄好汉追捧,一点不比老前辈RabbitMQ和ActiveMQ差,因为流行,所以你就得学啊:我这么懒,肯定是不 ...
- 初识zookeeper以及安装和集群部署
初识zookeeper以及安装和集群部署 一.Zookeeper单体版安装 在安装zookeeper之前要先安装jdk环境,具体在linux环境安装jdk1.8请参照linux笔记. ...
- 大数据篇:Zookeeper
Zookeeper 1 Zookeeper概念 Zookeeper是什么 是一个基于观察者设计模式的分布式服务管理框架,它负责和管理需要关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Z ...
- 初识ZooKeeper
最近在看Apache下的一个开源项目ZooKeeper(http://zookeeper.apache.org/doc/trunk/),用百度百科介绍的来说,Zookeeper是一个针对大型分布式系统 ...
- ZooKeeper学习总结 第一篇:ZooKeeper快速入门
1. 概述 Zookeeper是Hadoop的一个子项目,它是分布式系统中的协调系统,可提供的服务主要有:配置服务.名字服务.分布式同步.组服务等. 它有如下的一些特点: 简单 Zookeeper的核 ...
- Zookeeper笔记(一)初识Zookeeper
为什么需要Zookeeper Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知.集群管理.Master选举 ...
- 初识ZooKeeper与集群搭建实例
原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...
随机推荐
- 面试官:知道ThreadLocal嘛?谈谈你对它的理解?(基于jdk1.8)
https://zhuanlan.zhihu.com/p/99150038 西北工业大学 计算机技术硕士在读 在java的多线程模块中,ThreadLocal是经常被提问到的一个知识点,提问的 ...
- python 函数基础知识
1.函数返回的多个值会被组织成元组被返回,也可以用多个值来接收 2.调用函数时候,传入的参数叫实际参数,简称实参,定义函数的参数叫做形式参数,简称形参-- 位置参数 def mymax(x,y): a ...
- 如何给Spring 容器提供配置元数据?
这里有三种重要的方法给Spring 容器提供配置元数据. XML配置文件. 基于注解的配置. 基于java的配置.
- Spring Cloud第一次请求报错问题
一.原因 我们在使用Spring Cloud的Ribbon或Feign来实现服务调用的时候,第一次请求经常会经常发生超时报错,而之后的调用就没有问题了.造成第一次服务调用出现失败的原因主要是Ribbo ...
- kafka中的回调函数
kafka客户端中使用了很多的回调方式处理请求.基本思路是将回调函数暂存到ClientRequest中,而ClientRequest会暂存到inFlightRequests中,当返回response的 ...
- 解释 Spring 框架中 bean 的生命周期?
Spring 容器 从 XML 文件中读取 bean 的定义,并实例化 bean. Spring 根据 bean 的定义填充所有的属性. 如果 bean 实现了 BeanNameAware 接口,Sp ...
- 利用contextmenu事件,自定义右键
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Python - Python函数简介
- PCB中的生产工艺、USB布线、特殊部件、蓝牙天线设计
PCB中的生产工艺.USB布线.特殊部件.蓝牙天线设计 (2016-07-20 11:43:27) 转载▼ PCB生产中Mark点设计 1.pcb必须在板长边对角线上有一对应整板定位的Mark ...
- css3 弹性布局和多列布局
弹性盒子基础 弹性盒子(Flexible Box)是css3中盒子模型的弹性布局,在传统的布局方式上增加了很多灵活性. 定义一个弹性盒子 在父盒子上定义display属性: #box{ display ...