主从结构:HDFS、Yarn、HBase、storm、spark、zookeeper都存在单点故障问题

hadoop1.x没有解决方案

hadoop2.x利用zookeeper实现HA

zookeeper是开源的分布式应用程序协调服务,是Google chubby的开源实现

zookeeper相当于一个数据库,可以实现HA,zookeeper的功能:配置管理、集群管理、分布式锁

zookeeper的体系结构:leader和follower

zookeeper集群本身具有leader选举功能(解决单点故障问题,因此zookeeper集群至少需要三台)和数据同步功能(保证数据的安全性),

选举端口号:3888,同步端口号:2888

zookeeper也支持单点部署,不存在leader选举功能(paxos协议)和数据同步功能(zab协议),状态:standalone(单独的、独立的)

paxos协议的核心思想:当多数server写成功,则任务数据写成功。如果有3个server,则两个写成功即可。

安装和配置zookeeper:

安装zookeeper:tar -zxvf zookeeper-3.4.10.tar.gz -C ~/training

配置zookeeper:配置ZOOKEEPER_HOME环境变量:

vim ~/.bash_profile

export ZOOKEEPER_HOME=/root/training/zookeeper-3.4.10

export PATH=$ZOOKEEPER_HOME/bin:$PATH

source ~/.bash_profile

zookeeper的核心配置文件:conf/zoo.cfg 使用cp zoo_sample.cfg zoo.cfg得到zoo.cfg

zookeeper的安装模式:

1、单点模式:一台机器,不存在leader选举功能和数据同步功能 状态:standalone

修改配置文件zoo.cfg:

1、指定zookeeper中数据保存的目录:

dataDir=/root/training/zookeeper-3.4.10/tmp

2、指定zookeeper的主机是谁:

server.1=bigdata11:2888:3888

3、指定server.1的myid:1

2、集群模式:至少三台机器以上  具有leader选举功能和数据同步功能 状态:一个leader,多个follower

1、在bigdata12上安装和配置zookeeper:

安装zookeeper:tar -zxvf zookeeper-3.4.10.tar.gz -C ~/training

配置zookeeper:配置ZOOKEEPER_HOME环境变量:

ZOOKEEPER_HOME=/root/training/zookeeper-3.4.10

PATH=$ZOOKEEPER_HOME/bin:$PAHT

2、修改配置文件zoo.cfg:

1、指定zookeeper中数据保存的目录:

dataDir=/root/training/zookeeper-3.4.10/tmp

2、指定zookeeper的主机:

server.1=bigdata12:2888:3888

server.2=bigdata13:2888:3888

server.3=bigdata14:2888:3888

3、指定server.1的myid:1

3、把bigdata12上的zookeeper复制到其他节点上:

scp -r zookeeper-3.4.10 root@bigdata12:/root/training

scp -r zookeeper-3.4.10 root@bigdata13:/root/training

scp -r zookeeper-3.4.10 root@bigdata14:/root/training

4、修改bigdata13和bigdata14上的myid文件:

5、在每个节点上启动zookeeper:zkServer.sh start

zookeeper的数据模型:

zookeeper的数据模型类似于Linux文件系统,呈树形结构,每个目录称作一个z节点,每个z节点上可以存储少量数据,默认1M

启动zookeeper:zkServer.sh start

停止zookeeper:zkServer.sh stop

查看zookeeper的状态:zkServer.sh status

启动zookeeper的客户端命令行工具:zkCli.sh

zookeeper的客户端命令行工具端口号:2181

在zookeeper中创建节点添加数据:create /mydata helloworld

在zookeeper中查看节点:get /mydata

作者:李金泽AllenLi,清华大学在读硕士,研究方向:大数据和人工智能

详解分布式应用程序协调服务Zookeeper的更多相关文章

  1. 分布式应用程序协调服务 ZooKeeper

    1.简介: ZooKeeper 是一个分布的.开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题.统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等,简化分布式应用协调 ...

  2. ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  3. hadoop之 Zookeeper 分布式应用程序协调服务

    (1) Zookeeper 在 Hadoop 集群中的作用 Zookeeper 是分布式管理协作框架,Zookeeper 集群用来保证 Hadoop 集群的高可用,(高可用的含义是:集群中就算有一部分 ...

  4. 分布式协调服务Zookeeper

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  5. zookeeper--为分布式应用提供协调服务

    1.概述 zookeeper是一个开源的.分布式的.为分布式应用提供协调服务的Apache项目 zookeeper的工作机制 zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服 ...

  6. 分布式协调服务Zookeeper扫盲篇

    分布式协调服务Zookeeper扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维工程师对kubernetes(k8s)可能比较熟,那么etcd(go语言实现)分布式协 ...

  7. 搞懂分布式技术3:初探分布式协调服务zookeeper

    搞懂分布式技术3:初探分布式协调服务zookeeper 1.Zookeepr是什么 Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅,负载均衡, ...

  8. 分布式协调服务Zookeeper集群搭建

    分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...

  9. 分布式协调服务Zookeeper集群之ACL篇

    分布式协调服务Zookeeper集群之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.zookeeper ACL相关知识概览 1>.zookeeper官方文档(h ...

随机推荐

  1. v-charts使用心得

    前端er经常都会遇到使用echarts的时候,特别是弄后台管理的报表等地方,而v-charts是echarts的vue版本(饿了么写的),基本上能应付普通的图表.传送门 隐藏提示框与图例 v-char ...

  2. 高性能JavaScript(数据存取)

    数据存取分为4各部分 存取位置 作用域及改变作用域 原型以及原型链 缓存对象成员值 存取位置 JavaScript 有4中基本的数据存取位置 字面量:字面量代表自身,不存于特定的位置.比如这个的匿名函 ...

  3. Python使用MySQLConnector/Python操作MySQL、MariaDB数据库

    使用MySQL Connector/Python操作MySQL.MariaDB数据库   by:授客 QQ:1033553122 因目前MySQLdb并不支持python3.x,而MySQL官方已经提 ...

  4. Wireshark wireshake数据包分割及捕包过滤器介绍

    wireshake数据包分割及捕包过滤器介绍 by:授客 QQ:1033553122 wireshake自带工具editcap分割数据包 操作: 进入到目录,然后 editcap.exe -c < ...

  5. 数组、ArrayList、链表、LinkedList

    数组   数组 数组类型 不可重复 无序(线性查找) 可重复(找到第一个即可) 无序(线性查找) 不可重复 有序(二分查找) 可重复(找到第一个即可) 有序(二分查找) 插入 O(N) O(1) O( ...

  6. [Android] 布局优化技巧

    看了一些关于优化布局的资料,了解了很多平时不怎么注意的问题,于是把资料整理了一下,一部分内容是翻译来的,一部分是自己理解加上的.每部分内容都有demo,有些资料里的demo比较好的,我就直接拿来用了: ...

  7. java基础(十一) 枚举类型

    枚举类型Enum的简介 1.什么是枚举类型 枚举类型: 就是由一组具有名的值的有限集合组成新的类型.(即新的类). 好像还是不懂,别急,咱们先来看一下 为什么要引入枚举类型 在没有引入枚举类型前,当我 ...

  8. CSS 小结笔记之图标字体(IconFont)

    本篇主要介绍一种非常好用的图标大法——图标字体(IconFont). 什么是图标字体?顾名思义,它是一种字体,只不过这个字体显示的并不是具体的文字之类的,而是各种图标. 网站上经常会用到各种图标,之前 ...

  9. 【转】vs2010打开qt的.pro文件时错误解决办法

    注意:qt creator工程中一般都已经存在*.pro文件,里面存放着一些自己配置的包含头文件和lib库文的信息,最好不要再重新使用qmake -project生成,若重新生成,则可能要重新增加配置 ...

  10. win7X64位安装mysql-5.7.16

    今天尝试在win7系统中安装mysql,发现过程有点复杂,不过还好已经成功安装,写个博客纪念一下,顺便可以帮助大家. 1.在官网上面下载mysql, 注意:一定要下载对应的版本,第一次下载的是最下面一 ...