zookeeper的windows和Linux的安装与启动

x33g5p2x  于2021-12-20 转载在 其他  
字(3.3k)|赞(0)|评价(0)|浏览(557)

一、什么是ZooKeeper

      ZooKeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和组服务。所有这些服务都以某种形式由分布式应用程序使用。每次实现它们时,都需要做大量工作来修复不可避免的bug和竞争条件。由于难以实现这些服务,应用程序最初通常会节省这些服务,这使得它们在出现更改时变得脆弱,并且难以管理。即使处理正确,这些服务的不同实现在部署应用程序时也会导致管理复杂性。

二、大数据中的ZooKeeper

     大数据时代,各种分布式系统层出不穷,其中,有很多系统都直接或间接使用了Zookeeper,用来解决诸如配置管理、分布式通知/协调、集群管理和Master选举等一系列分布式问题。

 

1、Hadoop

        Hadoop的核心是HDFS(Hadoop Distributed File System)和MapReduce,分别提供了对海量数据的存储和计算能力。在Hadoop中,Zookeeper主要用于实现HA(High Availability),这部分逻辑主要集中在Hadoop Common的HA模块中,HDFS的NameNode与YARN的ResourceManager都是基于此HA模块来实现自己的HA功能,YARN又使用了Zookeeper来存储应用的运行状态。

2、HBase

      HBase(Hadoop Database)是一个基于Hadoop的文件系统设计的面向海量数据的高可靠、高性能、面向列、可伸缩的分布式存储系统,其针对数据写入具有强一致性,索引列也实现了强一致性,其采用了Zookeeper服务来完成对整个系统的分布式协调工作。

3、Kafka

   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

四、ant编译zookeeper源码

1.Ant下载

地址:Apache Ant - Binary Distributions,下载解压至本地即可

2.配置ant环境变量

在cmd 中输入 ant -version 查看是否配置成功

3.编译

切换到zookeeper目录,输入 ant eclipse 进行编译

出现 “BUILD SUCCESSFUL”,即代表编译完成。

五、导入idea本地启动调试

1. idea 导入工程

2.配置zoo.cfg属性文件

 a.打开conf 包,修改zoo_sample.cfg 文件名为zoo.cfg

 b.打开zoo.cfg文件,修改配置

    创建一个data文件夹用作zookeeper数据存放,如 D:\workplace\zookeeper-master\data

在文件中修改 dataDir=D:\workplace\zookeeper-master\data

3.单机启动服务器

在zookeeper-server module中找到ZookeeperServerMain 类配置启动参数为

配置文件 D:\workplace\zookeeper-master\conf\zoo.cfg,启动服务器。

4.本地客户端连接

  a.在zookeeper-server module中找到ZookeeperMain类,启动连接zookeeper

  b.打开zookeeperTest 运行测试方法就可以测试啦!!!

六、Linux服务器中单机启动zookeeper

 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,代表连接成功

七、Linux服务器中伪集群启动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

  1. 启动服务器

创建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

zk/bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

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

zk/bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

最后一行为客户端连接命令

服务器启动和客户端连接完成啦!!

相关文章