Zookeeper(动物园管理员)

这篇具有很好参考价值的文章主要介绍了Zookeeper(动物园管理员)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Zookeeper
概述
1. Zookeeper 本身是 Apache 提供的一套开源的用于进行分布式管理和协调的机制 / 框架。官网: http
s://zookeeper.apache.org
2. Zookeeper 本身提供了 中心化服务 ,包含统一配置、统一命名、分布式锁服务、分布式组服务,更
多的时候, Zookeeper 充当了一个 注册中心 来使用
3. Zookeeper Yahoo! 仿照了 Google <The Chubby Lock Service> 开发的后来贡献给了 Apache
一套框架
安装
概述
1. 在大数据中,几乎所有的框架,它的安装都提供了三种模式
1. 单机模式:在一台服务器上安装,往往能够启动这个框架的部分服务
2. 伪分布式:在一台服务器上安装,但是利用多个线程模式分布式环境,能够启动这个框架的
大部分甚至于服务
3. 分布式:在集群上安装,能够启动这个框架的所有服务
2. 现阶段,先安装单机模式,搞定所有的概念之后,再到集群中安装
安装 JDK
1. Centos7 中可能自带了 OpenJDK ,需要卸载移除掉
2. 上课的时候要求,所有的软件安装包放在 /opt/presoftware 下,将软件安装在 /opt/software
3. 进入 presoftware 下,将 JDK 安装包上传到这个目录下
4. 解压到 software 目录下
5. 进入 software 目录下
rpm -qa | grep -i jdk | xargs rpm -ev --nodeps
cd /opt
mkdir presoftware
mkdir software
cd presoftware
# 将安装包上传到这个路径下
rz
tar -xvf jdk-8u371-linux-x64.tar.gz -C /opt/software/ 6. Linux 中, 环境变量的配置有两个位置: /etc/profile ~/.bashrc 。无论哪一个路径,默
认都会扫描 /etc/profile.d 目录下的脚本文件,所以,配置环境变量一般是放
/etc/profile.d
安装 Zookeeper( 单机模式 )
1. 将安装包上传到 Linux
2. 解压
3. 重命名
4. 配置环境变量
5. 配置 Zookeeper
1. 进入 Zookeeper 的配置目录
cd /opt/software/
# 重命名
mv jdk1.8.0_371/ jdk1.8
# 需要在 /etc/profile.d 来脚本文件
touch /etc/profile.d/javahome.sh
# 编辑脚本文件
vim /etc/profile.d/javahome.sh
# 在文件中添加
export JAVA_HOME = /opt/software/jdk1.8
export PATH = $PATH : $JAVA_HOME /bin
# 保存退出,生效
source /etc/profile.d/javahome.sh
# 测试
javac -version
# 或者
java -version
cd /opt/presoftware/
rz
tar -xvf apache-zookeeper-3.9.1-bin.tar.gz -C /opt/software/
cd /opt/software/
mv apache-zookeeper-3.9.1-bin/ zookeeper-3.9.1
# 编辑文件
vim /etc/profile.d/zookeeperhome.sh
# 在文件中添加
export ZOOKEEPER_HOME = /opt/software/zookeeper-3.9.1
export PATH = $PATH : $ZOOKEEPER_HOME /bin
# 保存退出,生效
source /etc/profile.d/zookeeperhome.sh
cd /opt/software/zookeeper-3.9.1/conf 2. 修改配置
3. 启动 Zookeeper
4. 检查 Zookeeper 的状态
5. 进入 Zookeeper 的客户端
技术点     特点
1. Zookeeper 默认对外提供的客户端端口号是 2181 ,可以通过 zoo.cfg 中的 clientPort 属性来修
改,但是不建议
2. Zookeeper 本身是一个树状结构,根节点是 /
3. 不同于 Linux 的地方在于, Zookeeper 中没有相对路径的说法,所有节点路径都必须从根节点开始
计算
4. Zookeeper 启动的时候,自动的添加一个节点 /zookeeper ,存放的是 Zookeeper 本身的集群信
5. Zookeeper3.7 及以前的版本中,要求每一个节点在创建的时候必须携带数据,这个数据可以是
对节点的描述或者是配置信息
6. 每一个节点携带的数据默认是在内存以及磁盘上
1. 维系在内存的目的是为了读写快
2. 维系在磁盘的目的是为了持久化
7. 数据在磁盘上的存储路径默认由 dataLogDir 属性来控制,默认情况下,如果没有单独指定,
dataLogDir 的属性值和 dataDir 是一致的
8. 临时节点下不能挂载子节点!
9. Zookeeper 会为每一次的写操作分配一个全局递增的编号,这个编号称之为事务 id ,简写为
Zxid 。一个节点刚被创建的时候,三个事务 id 是一致的
操作命令
# 复制文件 - 注意: Zookeeper 启动的时候默认会使用 zoo.cfg 中的配置
cp zoo_sample.cfg zoo.cfg
# 编辑文件
vim zoo.cfg
# 修改 dataDir 属性的值
dataDir = /opt/software/zookeeper-3.9.1/data
zkServer.sh start
# 方式一:
jps
# 如果有 QuorumPeerMain ,那么表示 Zookeeper 在运行
# 方式二:
zkServer.sh status
zkCli.sh
命令                                         解释
ls /                                   查看跟节点的子节点
create /big                      在根节点下创建子节点big - 这种创建方式是从 Zookeeper的3.8 版本开的
create /test 'this is a test
server'                            在根节点下创建test 节点,并且携带数据
create /data ''                 创建节点,并且给定数据为空
get /big                           获取节点的数据
set /video 'size=500M'    修改数据
delete /test                     删除节点,要求节点为空( 不能有子节点 )
rmr /video                     删除这个节点及子节点,从Zookeeper3.8 开始,这个命令就过时 了       
deleteall /video               删除这个节点及子节点,从Zookeeper3.8 开始建议使用的命令
ls - w /                              监控指定节点的子节点的个数变化 - 只监控一次
get - w /news                   监控指定节点的数据是否变化 - 只监控一次
removewatches /news    移除监控
history                           查看执行过的指令
redo 24                         重新执行编号为24 的命令
close                             关闭连接,但是没有退出Zookeeper 客户端
quit                               直接退出客户端,需要通过 zkCli.sh 重新进入
connect localhost:2181  连接本机的2181 端口
getAllChildrenNumber /  获取根节点以及所有子节点的数量
setquota - n 2 /news     /news节点下的子节点个数最好不要超过 2
setquota - b 1024 /news         /news节点的数据最好不要超过 1024B
listquota /news               获取/news 节点上的限制
delquota /news              删除/news 节点上的限制
version                           查看Zookeeper 的版本
whoami                          查看当前的用户
sync /                             将根目录下的数据同步给其他的follower
getEphemerals /             获取根节点的临时节点
create - e /big ''               创建临时节点
命令                                                      解释
create - s /test/t ''                            创建持久顺序节点
create - e - s /test/t ''                        创建临时顺序节点
stat /news                                      查看节点的属性/ 信息
节点                                                      解释
Persistent                                        持久节点
Ephemeral                                       临时节点
Persistent_Sequential                     持久顺序节点
Ephemeral_Sequential                    临时顺序节点
属性 / 信息                                                           解释
cZxid                                  这个节点创建对应的事务id 整个过程中第几个写操作 创建了这个节点
ctime                                  这个节点创建对应的时间
mZxid                               这个节点的数据修改对应的事务id 整个过程中第几个写操作 修改了数据
mtime                                这个节点的数据修改对应的时间
pZxid                                 这个节点的子节点个数变化对应的事务id 整个过程中第几个写操作 导                                           致这个节点的子节点个数产生了变化
cversion                            这个节点的子节点个数变化了几次
dataVersion                       这个节点的数据被修改了几次 - 数据版本
aclVersion                         这个节点的权限被修改了几次
ephemeralOwner              如果是持久节点,此项值为0x0 ;如果是临时节点,此项值为当前的会                                              话编 号(sessionid)
dataLength                        数据的长度( 字节个数 )
numChildren                      子节点个数

文章来源地址https://www.toymoban.com/news/detail-840760.html

到了这里,关于Zookeeper(动物园管理员)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT以管理员身份运行

    以下配置后,QT在QT Creator调试时,或者生成的.exe程序,都将会默认以管理员身份运行。 1、在Pro文件中添加以下代码: 重启QT软件,以管理员权限打开QT软件,重新构建一下,如果不成功,这样再重新编译时就没有问题了! 2、但是会有个后遗症,会发现我们在debug下,无法进

    2024年02月14日
    浏览(48)
  • 数据库管理员知识图谱

     初入职场的程序猿,需要为自己做好职业规划,在职场的赛道上,需要保持学习,并不断点亮自己的技能树。  成为一名DBA需要掌握什么技能呢,先让Chat-GPT为我们回答一下: 数据库管理系统 (DBMS)知识:深入了解不同类型的数据库管理系统,例如关系型数据库(如MySQL,

    2024年02月14日
    浏览(61)
  • Lliux管理员一些小技巧

    history命令显示日期和时间 xargs命令是改变已存在的文件的输出格式。“cat 文件名”是根据文件的行分隔符输出显示在屏幕上。如想改变一下,想把所有行合并为一行,就可以使用管道及xargs命令。 cat  文件名 |xargs 由按行显示一列→全部按空格分隔显示为一行 b. 行转列 通过

    2024年02月10日
    浏览(44)
  • Jenkins 修改默认管理员帐号

    1、新增一个新的超级管理员用户,并验证能正常登录 2、进入 Jenkins 用户管理目录: /data/software/jenkins/users 3、修改超级管理文件夹的名称为其他名称,如:mv admin_*** ifadm_*** 4、重启Jenkins容器  

    2024年02月14日
    浏览(37)
  • Django 框架添加管理员,完成对普通用户信息管理

    前情回顾:Django框架 完成用户登录注册 一般管理员都是直接指定,不开放页面注册,可以直接手动在数据库添加,Django框架提供了方法,让我们直接创建管理员,步骤如下: 打开pycharm下面的命令行终端 输入命令 按照提示进行输入信息 打开数据库,可以看出,已经帮我们插

    2024年01月16日
    浏览(45)
  • CentOS 7管理员登录方法详解

    在CentOS 7中,管理员(root用户)是系统的最高权限用户,可以执行系统的管理和配置任务。本文将详细介绍如何登录CentOS 7的管理员账户,并提供相应的源代码示例。 登录管理员账户有两种常见的方法:使用命令行界面和使用图形界面。我们将逐步介绍这两种方法。 命令行界

    2024年02月03日
    浏览(64)
  • 添加一个仅管理员可见的页面

    例如我新加一个页面 申请一个路由 《插播》 前端是如何知道我们是管理员的呢,ant-design框架会帮我们存到InitialState里,做为全局变量   在access.ts里我们获取到了用户是否为管理员 (用户存在且为管理员)  框架为我们打通了个路由:(表示canAdmin才能访问页面)

    2024年02月07日
    浏览(40)
  • linux--管理员和普通用户的切换

    目录 一.切换目录 二.普通用户切换到管理员 三.管理员切换到普通用户 su 用户名 su - 用户名 需要输入密码(输入密码时不会显示)   两种方法 区别在于切换后所在的路径不同 方法一: su-命令则是完全切换到目标用户的身份,包括工作目录和环境变量等信息都会改变。  或

    2024年02月07日
    浏览(51)
  • git bash开通默认管理员权限

    问题: 配置好git ssh的key连接后 运行 报错 后来发现是没有在管理员权限下打开git bash 但是管理员权限只能去快捷方式里右键打开 但是希望在文件夹里右键自带的git bash也能带管理员权限,只需要找到git安装路径下的git-bash.exe 就可以了,其他应用都同理。

    2024年02月08日
    浏览(53)
  • 强大的bat病毒(拿管理员权限)

    2024年02月04日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包