本文介绍: ZooKeeper是一种分布式协调服务,用于管理大型主机集。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式性质。
概述
ZooKeeper是一种分布式协调服务,用于管理大型主机集。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式性质。
Zookeeper工作机制
Zookeeper从设计角度来理解,就是一个观察者模式设计的分布式服务管理框架,它负责存储和管理核心数据,接受观察者的注册,一旦数据状态发生变化,Zookeeper负责通知在Zookeeper上注册的观察者。
特点
数据结构
Zookeeper数据模型的结构与Unix 文件系统类似,整体可以看做为一颗树,每个节点可称做 ZNode。每个 ZNode 默认存储 1MB的数据,每个 ZNode可以通过其路径唯一标识。
应用场景
提供的服务包括:同意命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。这里重点讲统一集群管理和服务器节点动态上下线。
统一集群管理
服务器节点动态上下线
zookeeper 安装
- 集群规划:在hadoop101、hadoop102 和hadoop103 三个节点上部署 Hadoop
- 下载地址: https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/
- 解压安装:
[logan@hadoop101 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
[logan@hadoop101 software]$ cd /opt/module
[logan@hadoop101 module]$ ln -snf apache-zookeeper-3.5.7-bin/ zookeeper
- 配置服务器编号
[logan@hadoop101 zookeeper]$ mkdir zkData
[logan@hadoop101 zkData]$ vim myid 1
- 配置zoo.cfg文件
[logan@hadoop101 zkData]$ cd /opt/module/zookeeper/conf/ [logan@hadoop101 conf]$ cp zoo_sample.cfg zoo.cfg
[logan@hadoop101 conf]$ vim zoo.cfg dataDir=/opt/module/zookeeper/zkData
#######################cluster########################## server.1=hadoop101:2888:3888 server.2=hadoop102:2888:3888 server.3=hadoop103:2888:3888
- 同步/opt/module/apache–zookeeper-3.5.7-bin目录到hadoop102和 hadoop103,注意 xsync 是hadoop 安装时候配置的脚本,可以同步到其他服务器上去
[logan@hadoop101 bin]$ xsync /opt/module/apache-zookeeper-3.5.7-bin/
/opt/module/zookeeper/bin/zkServer.sh start
#!/bin/bash
case $1 in
"start"){
for i in hadoop101 hadoop102 hadoop103
do
echo ---------- zookeeper $i 启动 ------------
ssh $i "/opt/module/zookeeper/bin/zkServer.sh start"
done
};;
"stop"){
for i in hadoop101 hadoop102 hadoop103
do
echo ---------- zookeeper $i 停止 ------------
ssh $i "/opt/module/zookeeper/bin/zkServer.sh stop"
done
};;
"status"){
for i in hadoop101 hadoop102 hadoop103
do
echo ---------- zookeeper $i 状态 ------------
ssh $i "/opt/module/zookeeper/bin/zkServer.sh status"
done
};;
esac
[logan@hadoop101 zookeeper]$ bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 3] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 4] create /test
Created /test
[zk: localhost:2181(CONNECTED) 6] ls /
[test, zookeeper]
原文地址:https://blog.csdn.net/qq_41758289/article/details/134752736
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_48842.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。