Zookeeper之介绍和安装环境准备

本文详细介绍了ZooKeeper的概述、功能及其在分布式系统中的作用,深入探讨了ZooKeeper的集群机制和节点角色,并提供了搭建ZooKeeper集群的具体步骤,包括环境配置、免密登录设置、防火墙管理及集群配置。

zookeeper概述

 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。   Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务 |序号 |功能 | |--|--| |1 |为别的分布式程序服务的| |2 |本身就是一个分布式程序| |3 |主从协调 服务器节点动态上下线 统一配置管理 分布式共享锁 一名称服务| |4 |管理(存储,读取)用户程序提交的数据 并为用户程序提供数据节点监听服务|

Zookeeper的集群机制

zookeeper是为其他分布式程序提供服务的,所以本身自己不能随便就挂了,所以zookeeper自身的集群机制就很重要。zookeeper的集群机制采用的是半数存活机制,也就是整个集群节点中有半数以上的节点存活,那么整个集群环境可用。这也就是说们的集群节点最好是奇数个节点。

zookeeper集群节点的角色

Leader

Leader服务器是Zookeeper集群工作的核心,其主要工作如下

事务请求的唯一调度和处理者,保证集群事务处理的顺序性。 集群内部各服务器的调度者。

Follower

Follower是Zookeeper集群的跟随者,其主要工作如下

处理客户端非事务性请求(读取数据),转发事务请求给Leader服务器。
参与事务请求Proposal的投票。
参与Leader选举投票。

集群环境准备

准备3个节点

|ip | 主机名 | |--|--| |192.168.119.20 | zek00| | 192.168.119.21 | zek01 | | 192.168.119.22 | zek02 |

配置ip地址(其他两个如此参上)

删除 HWADDR这行信息 在这里插入图片描述在这里插入图片描述

节点的映射关系

其他两个节点也这样配置 在这里插入图片描述在这里插入图片描述 删除一个文件 在这里插入图片描述 三个节点修改主机名 在这里插入图片描述在这里插入图片描述 重启

配置免密登录

ssh-keygen

四次回车即可 然后四次回车就可以了,然后就可以在当前登录用户的主目录下可以查看到.ssh目录,公钥和私钥就保存在该目录中 在这里插入图片描述

发送公钥给需要免密登录的节点

ssh-copy-id zek00
ssh-copy-id zek01
ssh-copy-id zek02

在这里插入图片描述 分别发送给各个节点,自身也需要发送。 然后在其他两个节点上重复此步骤

关闭防火墙

重启后生效(永久关闭) 开启: chkconfig iptables on 关闭: chkconfig iptables off

即时生效,重启后失效 开启: service iptables start 关闭: service iptables sto

zookeeper集群搭建

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/ linux下载命令

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

解压缩命令

tar -zxvf zookeeper-3.4.14.tar.gz

配置文件

在这里插入图片描述 修改的地方有两处:

修改zookeeper存储数据的位置
添加集群节点信息
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/root/zookeeper/zkdata
dataLogDir=/root/zookeeper/zklog
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
#zookeeper配置端口
server.1=zek00:2888:3888
server.2=zek01:2888:3888
server.3=zek02:2888:3888

在这里插入图片描述

myid配置

在 zookeeper的数据的存储目录中创建 myid文件,本文既是zkData目录下,这个myid中的内容只有一行信息,即表示我们集群节点的标示,范围在1~255之间。每个节点中的myid的数字和我们在zoo.cfg中的server.数字=host…对应, 创建这块Data目录:

mkdir zkData
echo 3 > zkData/myid

在这里插入图片描述

分发安装文件

将我们hadoop-node01上安装配置的环境分发到hadoop-node02和hadoop-node03两个节点相同的目录下: 在这里插入图片描述 确认分发成功后分别修改zek00和zek01上的myid的值分别为1,2

配置环境变量

在这里插入图片描述在这里插入图片描述 用上面分发文件的方法:(scp 参数 目的地主机名 路径) 发送给其他两个节点,此配置不用在安装根目录下启动

启动

zkServer.sh start

查看状态,分别在每个节点上执行

./bin/zkServer.sh status

zek00 在这里插入图片描述 zek01 在这里插入图片描述 zek02 在这里插入图片描述 说明启动成功

转载于:https://my.oschina.net/u/4116655/blog/3049063

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值