文章13 | 阅读 5138 | 点赞0
ZooKeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和组服务。所有这些服务都以某种形式由分布式应用程序使用。每次实现它们时,都需要做大量工作来修复不可避免的bug和竞争条件。由于难以实现这些服务,应用程序最初通常会节省这些服务,这使得它们在出现更改时变得脆弱,并且难以管理。即使处理正确,这些服务的不同实现在部署应用程序时也会导致管理复杂性。
大数据时代,各种分布式系统层出不穷,其中,有很多系统都直接或间接使用了Zookeeper,用来解决诸如配置管理、分布式通知/协调、集群管理和Master选举等一系列分布式问题。
Hadoop的核心是HDFS(Hadoop Distributed File System)和MapReduce,分别提供了对海量数据的存储和计算能力。在Hadoop中,Zookeeper主要用于实现HA(High Availability),这部分逻辑主要集中在Hadoop Common的HA模块中,HDFS的NameNode与YARN的ResourceManager都是基于此HA模块来实现自己的HA功能,YARN又使用了Zookeeper来存储应用的运行状态。
HBase(Hadoop Database)是一个基于Hadoop的文件系统设计的面向海量数据的高可靠、高性能、面向列、可伸缩的分布式存储系统,其针对数据写入具有强一致性,索引列也实现了强一致性,其采用了Zookeeper服务来完成对整个系统的分布式协调工作。
kafka是一个吞吐量极高的分布式消息系统,其整体设计是典型的发布与订阅系统模式,在Kafka集群中,没有中心主节点概念,所有服务器都是对等的。因此利用zookeeper实现具有随时失败重启,服务器节点添加和删除功能。
1.ZooKeeper的工作模式有三种:单机模式、集群模式、伪集群模式
2.官网下载 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5.tar.gz
3.解压至本地文件夹 D:\apache-zookeeper-3.5.5
地址:Apache Ant - Binary Distributions,下载解压至本地即可
在cmd 中输入 ant -version 查看是否配置成功
切换到zookeeper目录,输入 ant eclipse 进行编译
出现 “BUILD SUCCESSFUL”,即代表编译完成。
a.打开conf 包,修改zoo_sample.cfg 文件名为zoo.cfg
b.打开zoo.cfg文件,修改配置
创建一个data文件夹用作zookeeper数据存放,如 D:\workplace\zookeeper-master\data
在文件中修改 dataDir=D:\workplace\zookeeper-master\data
在zookeeper-server module中找到ZookeeperServerMain 类配置启动参数为
配置文件 D:\workplace\zookeeper-master\conf\zoo.cfg,启动服务器。
a.在zookeeper-server module中找到ZookeeperMain类,启动连接zookeeper
b.打开zookeeperTest 运行测试方法就可以测试啦!!!
1.在Linux中下载apache-zookeeper-3.5.5.tar.gz
2.解压 tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz
3.重命名文件夹名为 zk 并进入 mv apache-zookeeper-3.5.5-bin zk && cd zk
4.创建数据data目录及日志lib目录 mkdir data && mkdir logs
5. 编辑配置文件 cd conf && mv zoo_sample.cfg zoo.cfg && vim zoo.cfg
6.修改dataDir=/home/chardt/zookeeper/zk/data
7.单机启动zookeeper
进入bin包并执行 ./zkServer.sh start ../conf/zoo.cfg,出现如下图所示zookeeper启动成功
8.客户端连接
输入ls / ,可以看见默认目录zookeeper,代表连接成功
1.依次创建z1,z2,z3目录,并在每个目录下创建data和conf目录
mkdir z1 && cd z1 && mkdir conf && mkdir data
mkdir z2 && cd z2 && mkdir conf && mkdir data
mkdir z3 && cd z3 && mkdir conf && mkdir data
2.将zk/config 目录下的文件依次copy至 z1/config, z2/config, z3/config中
3.依次修改 zoo.cfg配置文件
z1.conf
dataDir=/home/chardt/zookeeper/z1/data
clientPort=2181
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
z2.conf
dataDir=/home/chardt/zookeeper/z2/data
clientPort=2182
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
z3.conf
dataDir=/home/chardt/zookeeper/z3/data
clientPort=2183
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
4.创建myid文件并修改配置
cd z1/data/ && vim myid 编辑myid文件,内容为1
cd z2/data/ && vim myid 编辑myid文件,内容为2
cd z3/data/ && vim myid 编辑myid文件,内容为3
创建start.sh 和 stop.sh文件,并输入内容如下所示
start.sh
zk/bin/zkServer.sh start z1/conf/zoo.cfg
zk/bin/zkServer.sh start z2/conf/zoo.cfg
zk/bin/zkServer.sh start z3/conf/zoo.cfg
stop.sh
zk/bin/zkServer.sh stop z1/conf/zoo.cfg
zk/bin/zkServer.sh stop z2/conf/zoo.cfg
zk/bin/zkServer.sh stop z3/conf/zoo.cfg
最后一行为客户端连接命令
服务器启动和客户端连接完成啦!!
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_33513250/article/details/100551978
内容来源于网络,如有侵权,请联系作者删除!