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.20zek00
192.168.119.21zek01
192.168.119.22zek02

配置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
在这里插入图片描述
说明启动成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值