zookeeper详细笔记(一) zookeeper简介和安装

1 ZooKeeper

1.1 概述

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper包含一个简单的原语集,提供Java和C的接口。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

zookeeper是一个底层的分布式协调工具!

1.2 基本功能

  1. 为客户提供写数据功能  数据不大 状态信息数据
  2. 为客户提供读取据功能
  3. 为用户提供数据变化时的监控功能

总结: ZooKeeper中仅仅记录一些关键性的数据或者是描述性的数据 ,所以并不存储大量的数据 , 为了保证数据的安全可靠,ZooKeeper要求集群一起工作, 共同存储相同的数据!! (3或者5台) , 3台机器存储三个数据副本, 5台机器就存储5个文件副本!!

1.3 应用场景

Zookeeper的作用有如下:

HDFS YARN的mast是自己制定的(配置HA)

namenode

分布式系统中的主节点选举!  比如hbase中的老大的产生 Hmaster(HA)

分布式系统中的主从节点感知!

分布式系统中的配置文件同步!

系统服务器的动态上下线感知!!!

分布式系统中的分布式的实现!分布式中的同一个对象

分布式系统中的名称服务!

分布式系统中的负载均衡!

........

2 安装

2.1 上传到linux机器并解压

rz 

tar -zxvf ZooKeeper-3.4.6.tar.gz

2.2 修改配置文件

cd  ZooKeeper-3.4.6/conf

 mv  zoo_sample.cfg   zoo.cfg

vi zoo.cfg

dataDir=/usr/apps/zookeeper-3.4.6/zkData

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

server.1=linux01:2888:3888

server.2=linux02:2888:3888

server.3=linux03:2888:3888

2.3 创建zkData目录 并写入myid文件

mkdir /opt/apps/zookeeper-3.4.6/zkData

echo 1 >  /opt/apps/zookeeper-3.4.6/zkData/myid

2.4 分发

scp -r zookeeper-3.4.6/  linux02:$PWD

scp -r zookeeper-3.4.6/  linux03:$PWD

2.5 修改linux02 linux03 机器的myid的值

linux02   echo 2 >  /opt/apps/zookeeper-3.4.6/zkData/myid

linux03   echo 3 >  /opt/apps/zookeeper-3.4.6/zkData/myid

2.6 启动zk

每台zk节点启动

bin/zkServer.sh  start 

2.7 编写一键启动脚本

#!/bin/bash
for i in 1 2 3 
do
ssh linux0${i} "source /etc/profile;/opt/apps/zookeeper-3.4.6/bin/zkServer.sh $1"
done

sleep 2

if [ $1 == start ]
then
for i in {1..3}
do
ssh doit0${i} "source /etc/profile;/opt/apps/zookeeper-3.4.6/bin/zkServer.sh status "
done
fi

2.8 查看集群的状态

bin/zkServer.sh status 

[root@linux01 apps]# zookeeper-3.4.6/bin/zkServer.sh  status
JMX enabled by default
Using config: /opt/apps/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

[root@linux02 apps]# zookeeper-3.4.6/bin/zkServer.sh  status
JMX enabled by default
Using config: /opt/apps/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader

[root@linux03 apps]# zookeeper-3.4.6/bin/zkServer.sh  status
JMX enabled by default
Using config: /opt/apps/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

猜你喜欢

转载自blog.csdn.net/qq_37933018/article/details/107360648