博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
详解分布式应用程序协调服务Zookeeper
阅读量:5965 次
发布时间:2019-06-19

本文共 2114 字,大约阅读时间需要 7 分钟。

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

 

转载于:https://www.cnblogs.com/lijinze-tsinghua/p/8536207.html

你可能感兴趣的文章
为apache添加SSL支持
查看>>
MTK DRM常见问题介绍
查看>>
U盘安装ubuntu server 10.4
查看>>
【微度子】客户端
查看>>
Spark cluster 部署
查看>>
requireJS学习笔记
查看>>
arch开机自动认证
查看>>
浅谈 G1 GC 日志格式
查看>>
Linux常用的基本命令10
查看>>
我的友情链接
查看>>
bitcoin转账api,python2.7
查看>>
bash功能特性二 命令别名和历史命令
查看>>
交换机ACL配置
查看>>
Lync Server多SIP域环境和简单URL地址部署
查看>>
Pecl和Pear的区别和联系?
查看>>
几点建议,让Redis在你的系统中发挥更大作用
查看>>
如何在Linux操作系统定时重启Tomcat服务?
查看>>
磁盘格式化(mkfs命令)、磁盘挂载(mount)、手动添加swap
查看>>
pandas之dataframe去掉冗余行以及左连接合并dataframe
查看>>
LNMP3.0一键安装
查看>>