Zookeeper是一个底层的分布式协调服务工具!(服务器的工作状态[DN下线感知,上线感知 HA的状态],分布式配置文件同步,统一域名)
它是hadoop生态体系中很多分布式系统(HDFS,YARN,Hbase,KAFKA....)的基础组件
(HA模式使用ZK)
-- 1) 先在zookeeper的家目录下创建一个zkData文件夹[root@linux01 zookeeper-3.4.6]# mkdir zkData-- 2) 进入到配置文件夹中cd conf/-- 3) 修改配置文件名 生效mv zoo_sample.cfg zoo.cfg -rw-rw-r--、1 1000 1000 922 Feb 20 2014 zoo.cfg-- 4) 修改配置文件 dataDir=/opt/apps/zookeeper-3.4.6/zkData# 整个zookeeper集群server.1=linux01:2888:3888server.2=linux02:2888:3888server.3=linux03:2888:3888-- 5) 在zkData目录下 创建一个myid文件 写入自己的id[root@linux01 zkData]# cat myid 1
分发cd /opt/appsscp -r zookeeper-3.4.6 linux02:$PWDscp -r zookeeper-3.4.6 linux03:$PWD
--修改其他两个集群的myid的值 2 3 [root@linux02 ~]# echo 2 > /opt/apps/zookeeper-3.4.6/zkData/myid [root@linux02 ~]# cat /opt/apps/zookeeper-3.4.6/zkData/myid 2[root@linux03 ~]# echo 3 > /opt/apps/zookeeper-3.4.6/zkData/myid [root@linux03 ~]# cat /opt/apps/zookeeper-3.4.6/zkData/myid 3
启动zookeeper集群没有一键启动 , 只能到每个机器上分别启动服务
linux01/opt/apps/zookeeper-3.4.6/bin/zkServer.sh start[root@linux01 bin]# jps1714 Jps1679 QuorumPeerMainlinux02/opt/apps/zookeeper-3.4.6/bin/zkServer.sh start[root@linux02 bin]# jps1734 Jps1579 QuorumPeerMainlinux03/opt/apps/zookeeper-3.4.6/bin/zkServer.sh start[root@linux03 bin]# jps1414 Jps1979 QuorumPeerMain
查看集群状态
[root@linux01 bin]# /opt/apps/zookeeper-3.4.6/bin/zkServer.sh statusJMX enabled by defaultUsing config: /opt/apps/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower[root@linux02 ~]# /opt/apps/zookeeper-3.4.6/bin/zkServer.sh statusJMX enabled by defaultUsing config: /opt/apps/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: leader[root@linux03 ~]# /opt/apps/zookeeper-3.4.6/bin/zkServer.sh statusJMX enabled by defaultUsing config: /opt/apps/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower
一键操作脚本#!/bin/bashfor hostname in linux01 linux02 linux03 do echo "当前正在操作的主机是: $hostname"ssh $hostname "source /ect/profile ; /opt/apps/zookeeper-3.4.6/bin/zkServer.sh $1;exit"done