大数据注册中心之Zookeeper

举报
tea_year 发表于 2024/06/12 22:42:05 2024/06/12
【摘要】 一. zookeeper引言简介Apache ZooKeeper是Apache软件基金会的一个开源分布式软件项目,大数据集群服务器的管理者协调者。简言:ZK就是一个管理多个服务(集群分布式环境下)的通知机制 Watcher+文件系统ZNode 文件系统:保存少量,服务器相关的配置文件信息。Watcher 监听通知机制:注册监听服务器的上下线以及配置信息变更。特点全局数据一致性:当客户端(cl...

一. zookeeper引言

  • 简介
Apache ZooKeeper是Apache软件基金会的一个开源分布式软件项目,大数据集群服务器的管理者协调者。
简言:ZK就是一个管理多个服务(集群分布式环境下)的通知机制 Watcher+文件系统
ZNode 文件系统:保存少量,服务器相关的配置文件信息。
Watcher 监听通知机制:注册监听服务器的上下线以及配置信息变更。
  • 特点
  1. 全局数据一致性:当客户端(client)对zookeeper集群中的数据进行读取时,无论从哪个节点进行读取,所获得的数据都是一致的。
  2. 半数机制,动态选举:zookeeper集群的运行遵循着半数机制(N=2F+1),即只要一半的服务器节点正常运行,那么zookeeper就可以正常的运转;zookeeper集群是一主(leader)多从(follower)的架构,其主节点有可能是任何一台机器,通过选举完成主节点的确认。
  3. 数据实时性:由多台服务器构成的zookeeper集群,在数据被写入或者更新时,客户端在一定的时间范围内(极短的时间)可以实时获取到最新的数据。
  • 在hdfs中的应用场景

二. 集群安装

1.准备三台服务器
(hadoop11/hadoop12/hadoop13)
0. 设置ip 1. 安装jdk 2. 配置java环境变量 3. 关闭防火墙 4. 设置hostname 5. 设置hosts(3台彼此之间集群互通)
2.安装
# 1. 解压 [root@hadoop11 modules]# tar zxvf zookeeper-3.4.6.tar.gz -C /opt/installs/ # 2. 修改文件名 [root@hadoop11 installs]# mv zookeeper-3.4.6/ zookeeper3.4.6 # 3. 编辑环境变量配置文件 [root@hadoop11 zookeeper3.4.6]# vim /etc/profile # ------------------下面是添加的内容------ # zookeeper,配置成自己的路径信息 export PATH=$PATH:/opt/installs/zookeeper3.4.6/bin/ # 4. 重新加载profile配置 source /etc/profile
3.标记主机号
# 1. zk目录下新建一个data目录 作为后续zk的数据存放位置 [root@hadoop11 zookeeper3.4.6]# mkdir /opt/installs/zookeeper3.4.6/data # 2. 在data下,新建一个myid文件。 [root@hadoop11 zookeeper3.4.6]# cd data # 3. 里面内容填写当前zk节点的编号 [root@hadoop11 data]# echo 11 > myid
4.初始化配置文件
# 1. 拷贝zoo.cfg文件 [root@hadoop11 conf]# cp zoo_sample.cfg zoo.cfg # 2. 配置zoo.cfg #-------------以下是内容-------------- # 通信心跳时间, ,Zookeeper服务器与客户端心跳时间,单位毫秒 tickTime=2000 #Leader和Follower初始连接时能容忍的最多心跳数(tickTime的数量) initLimit=10 # Leader和Follower之间通信时间如果超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。 syncLimit=5 # zk的数据存储位置 # 注意:默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认的tmp目录。 dataDir=/opt/installs/zookeeper3.4.6/data/ # zk的客户端访问zk的端口号 clientPort=2181 # server.myid=zk的ip:2888:3888 # 2888(内部数据通信的端口) #3888(选举投票使用的端口) server.11=hadoop11:2888:3888 (只配置一个) server.12=hadoop12:2888:3888 server.13=hadoop13:2888:3888
5.同步配置文件(这里暂时不配置集群)
# 1. 同步zookeeper的软件及其内部配置文件信息 scp -r zookeeper3.4.6 root@hadoop12:/opt/installs/ scp -r zookeeper3.4.6 root@hadoop13:/opt/installs/ # 2. 同步zookeeper的环境变量文件/etc/profile scp -r /etc/profile root@hadoop12:/etc scp -r /etc/profile root@hadoop13:/etc # 3. 重新加载其他节点上的zk的环境变量 source /etc/profile # 4. 修改其他节点上的myid的zk编号。 【重要】 echo 12 > myid 先修改myid之后,在启动zookeeper
6.zk服务器管理命令
# 1. 启动,在bin下启动 zkServer.sh start [root@hadoop11 data]# jps 2610 QuorumPeerMain # zk节点的进程。 3500 Jps # 2. 查看状态 zkServer.sh status 集群环境下: Leader Follower # 3. 停止 zkServer.sh stop # 4. 客户端 zkCli.sh 登录本机的zk zkCli.sh -server ip:2181 登录指定ip的zk主机
日志 zk启动异常,查看日志文件:zookeeper.out
默认位置: 启动zkServer的命令所在的目录,
可以通过bin/zkEnv.sh修改 ZOO_LOG_DIR = "/opt/installs/zookeeper3.4.6/logs"

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。