zookeeper分布式集群搭建与一键启动一键关闭

 简介 

Zookeeper 是一个高可用的分布式数据管理和协调框架,并且能够很好的保证分布式环境中数据的一致性。在越来越多的分布式系统( Hadoop 、 HBase 、 Kafka )中, Zookeeper 都作为核心组件使用

 

安装

环境准备

在本机通过VMware 安装三台虚拟机centos系统,并分别设置固定IP

 

机器名IP
ding192.168.80.110
pei192.168.80.111
qiang192.168.80.112

1

 

 

同时将三台虚拟机安装jdk环境

三台机器都创建 dingpq用户,并归属root群组

 

下载zookeeper

http://zookeeper.apache.org/

 

点击 download

 

页面跳转后,继续点击 Download

 

 

页面跳转后,继续点击

 

 

选择 zookeeper-3.4.14

 

 

 

点击 下载

 

上传到 三台主机  dingpq 用户的home目录中

这里我在home目录中 新建了文件夹 software 用于软件的安装目录

 

zookeeper解压与环境配置

这里 –C 是用于指定 解压的目录

 

解压完成后,进入解压后的zookeeper目录中的conf文件夹中,

 

在conf中新建一个 zoo.cfg文件,并编辑zoo.cfg文件

上面的配置存在问题,记住 等于号后面不要又空格,不然会又奇怪的报错

 

这里

tickTime =2000  #心跳间隔

dataDir =/home/dingpq/software/zookeeper-3.4.14/data  #本地保存数据的目录

logDir =/home/dingpq/software/zookeeper-3.4.14/log   #日志目录

clientPort =2181  #客户端默认端口号

initLimit =5 # 初始容忍的心跳数

syncLimit =2 #等待最大容忍的心跳数

 

#这里注意一定要按照 1 2 3 递增

server.1=192.168.80.110:2888:3888  # (主机名, 心跳端口、数据端口)

server.2=192.168.80.111:2888:3888

server.3=192.168.80.112:2888:3888

 

 

 

 

这里  data  和 log 目录 我们自己手动新增

 

在data目录中新建一个文件 myid ,并编辑myid文件,写入一个 1,这里注意 三台主机依次填写 1 2 3

 

 

 

 

 

以上三台主机的操作,除了myid不一样 ,其他都一样

启动和关闭zookeeper服务端

启动验证,输入jps 查看进程是否存在

启动和关闭 zookeeper 客户端

 

关闭  quit

 

 

如果不想切换到zookeeper的bin目录中执行命令,可以配置环境变量

 

 

 

注意: zookeeper 少于三台不会正常工作

下面是单台192.168.80.110启动时

三台都启动后,再查看

 

至此zookeeper    集群全部启动完成,用户可以通过java的api往里面写数据,注入分布式应用让zookeeper 协调数据。或者使用zkCli.sh 来测试 其中一台写入,其他两台获取

 

zkCli.sh 客户端写入测试

在三台主机上 执行 zkCli.sh  启动客户端

在 192.168.80.110主机 zookeeper 客户端 在 /dingpq路径节点写入 aaaa

 

 

在 192.168.80.111主机 zookeeper 客户端 在 /dingpq路径节点获取

 

在 192.168.80.112主机 zookeeper 客户端 在 /dingpq路径节点获取

 

一键启动一键关闭

远程ssh 启动zookeeper

 

启动脚本zkStart.sh

#!/bin/bash

echo "start zkServer..."

for i in ding pei qiang

do

ssh $i "source /etc/profile;/home/dingpq/software/zookeeper-3.4.14/bin/zkServer.sh start"

done

 

关闭脚本zkStop.sh

 

#!/bin/bash

echo "stop zkServer..."

for i in ding pei qiang

do

ssh $i "source /etc/profile;/home/dingpq/software/zookeeper-3.4.14/bin/zkServer.sh stop"

done

 

代码交流 2021