Hadoop集群(二) Zookeeper搭建

一、Zookeeper功能简介

  ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。

二、ZooKeeper基本概念

  一个 ZooKeeper 集群同一时刻只会有一个 Leader,其他都是 Follower 或 Observer。

ZooKeeper 配置很简单,每个节点的配置文件(zoo.cfg)都是一样的,只有 myid 文件不一样。myid 的值必须是 zoo.cfg中server.{数值} 的{数值}部分。

ZooKeeper 默认只有 Leader 和 Follower 两种角色,没有 Observer 角色。为了使用 Observer 模式,在任何想变成Observer的节点的配置文件中加入:peerType=observer 并在所有 server 的配置文件中,配置成 observer 模式的 server 的那行配置追加 :observer

Hadoop 部署之 ZooKeeper (二)

三、ZooKeeper 的安装

1.安装准备

#下载cdh版本zookeeper
wget http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5.9.3.tar.gz
#解压文件到/opt
tar -zxvf  zookeeper-3.4.5-cdh5.9.3.tar.gz -C /opt  &&mv zookeeper-3.4.5-cdh5.9.3   zookeeper
#创建数据和日志目录
mkdir   /opt/zookeeper/{data,log}

2.配置zoo.cfg文件

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/log
clientPort=2181
autopurge.snapRetainCount=3
autopurge.purgeInterval=6
server.1=zkh01:2888:3888
server.2=zkh02:2888:3888
server.3=zkh03:2888:3888

3.修改id

#zkh01节点(datanode1)配置id
echo "1">/opt/zookeeper/data/myid
#zk02节点(datanode2)配置id
echo "2">/opt/zookeeper/data/myid
#zk03节点(datanode3)配置id
echo "3">/opt/zookeeper/data/myid

4.配置环境变量

#编辑文件/etc/profile.d/zookeeper.sh

# ZOOKEEPER ENV
export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

#使ZK环境变量生效。
source /etc/profile.d/zookeeper.sh

5.启动各节点zk

/opt/zookeeper/bin/zkServer.sh  start

6.查看各节点启动状态和角色

[root@datanode01 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower

[root@datanode02 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: leader

[root@datanode03 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower
posted @ 2019-01-16 14:46  人生是一场修行  阅读(212)  评论(0编辑  收藏  举报