zoukankan      html  css  js  c++  java
  • 详解分布式应用程序协调服务Zookeeper

    主从结构: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,清华大学在读硕士,研究方向:大数据和人工智能

  • 相关阅读:
    2. 开关电源.电感
    1. 开关电源.引子
    资源介绍
    3. EMC EMS EMI
    2. 基于MCU应用的EMC指南
    1. 内部管脚电路
    9.150 Predefined macros
    海康安防平台
    Redis常见配置
    利用python检测单词的相似度
  • 原文地址:https://www.cnblogs.com/lijinze-tsinghua/p/8536207.html
Copyright © 2011-2022 走看看