Zookeeper分布式集群搭建


 Zookeeper集群搭建

1.下载Zookeeper

从Zookeeper官网(http://zookeeper.apache.org/)下载Zookeeper

apache-zookeeper-3.6.0-bin.tar.gz

准备3台虚机(这里名称为hadoop5,hadoop6,hadoop7),将安装包上传到一台虚机上

 

2.解压

tar解压到特定的文件夹中

[hadoop@hadoop5 install-pkg]$ tar zxvf apache-zookeeper-3.6.0-bin.tar.gz -C ../app

 

 3.修改配置

先进入Zookeeper文件目录下的conf文件夹

[hadoop@hadoop5 conf]$ mv zoo_sample.cfg zoo.cfg //将zoo_sample.cfg修改为zoo.cfg将在里面进行配置

[hadoop@hadoop5 conf]$ vim zoo.cfg //修改配置信息
  • tickTime=2000 心跳间隔
  • initLimit=10 初始容忍的心跳数
  • syncLimit=5 等待最大容忍的心跳数
  • dataDir=/tmp/zookeeper 本地保存数据的目录,tmp存放的临时数据,可以修改为自己的目录
  • clientPort=2181 客户端默认端口号

其中主要修改 dataDir (这里我指定到了Zookeeper目录下的data文件夹,后面会创建)

 

 然后在最后面添加,保存退出。

server.1=hadoop5:2888:3888 (主机名, 心跳端口、数据端口) server.2=hadoop6:2888:3888 server.3=hadoop7:2888:3888

 

4.创建data目录

因为上一步 dataDir 指定了一个目录,如果没有那个data文件夹,所以需要创建对应目录。

然后在data目录创建一个文件myid,里面写一个1:

echo 1 >> myid                   //这里的id对应上一步server.1

 

5.拷贝到其他两台机器上

[hadoop@hadoop5 app]$ scp -r apache-zookeeper-3.6.0-bin/ hadoop6:/home/hadoop/app [hadoop@hadoop5 app]$ scp -r apache-zookeeper-3.6.0-bin/ hadoop7:/home/hadoop/app

 对应其他两台机器去修改data目录下的 myid 为  2  和  3 

 

 6.启动Zookeeper

进入bin目录,启动Zookeeper,jps查看进程是否启动(其他两台机器用同样的方式启动)

[hadoop@hadoop5 bin]$ ./zkServer.sh start
[hadoop@hadoop5 bin]$ jps

 最后查看ZK的状态:

[hadoop@hadoop5 bin]$ ./zkServer.sh status
 

 

7.一键启动Zookeeper

由于去三台机器启动Zookeeper太麻烦,所以可以编写一个一键启动脚本。

①首先先将Zookeeper配置到环境变量

vi /etc/profile

添加如下: #
---------------------zookeeper-------------------------- export ZOOKEEPER_HOME=/home/hadoop/app/apache-zookeeper-3.6.0-bin export PATH=$PATH:$ZOOKEEPER_HOME/bin #-------------------------------------------------------


保存
source /etc/profile

②编写脚本

新建一个文件夹存放自己写的脚本

编写启动脚本 zk-start.sh

#!/bin/bash echo "--------start zkServer------" echo "--hadoop5,hadoop6,hadoop7---"

for host in 5 6 7
        do ssh hadoop$host "source /etc/profile; /home/hadoop/app/apache-zookeeper-3.6.0-bin/bin/zkServer.sh start"
        if [$? -ne 0];then echo "$host zk failure"
                else echo "$host zk start successful" fi done

编写停止脚本 zk-stop.sh

#!/bin/bash echo "--------start zkServer------" echo "--hadoop5,hadoop6,hadoop7---"

for host in 5 6 7
        do ssh hadoop$host "source /etc/profile; /home/hadoop/app/apache-zookeeper-3.6.0-bin/bin/zkServer.sh stop"
        if [$? -ne 0];then echo "$host zk stop failure"
                else echo "$host zk stop successful" fi done

③将启动脚本加入到环境变量

vi /etc/profile

添加如下:
#---------------------my-scripts--------------------- export MY_SCRIPTS=/home/hadoop/my-scripts export PATH=$PATH:$MY_SCRIPTS #-----------------------------------------------------

保存

source /etc/profile

 

8.测试启动

[hadoop@hadoop5 my-scripts]$ zk-start.sh

 

 启动成功,再测试停止:

[hadoop@hadoop5 my-scripts]$ zk-stop.sh

 

 

 到此,Zookeeper集群搭建就完成了。

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM