微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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
#-----------------------------------------------------

 

8.测试启动

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

 

 启动成功,再测试停止:

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

 

 

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

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐