【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作

目录

一、安装Zookeeper

二、配置Zookeeper集群

三、Zookeeper服务的启动与关闭

四、Zookeeper的shell操作


前情提要:延续上篇【Hadoop和Hbase集群配置】继续配置Zookeeper,开启三台虚拟机Hadoop1、Hadoop2、Hadoop3,进入终端,都启动SSH服务systemctl restart sshd,进入远程连接工具SecureCRT(也可以直接在虚拟机终端操作),具体操作参考上篇文章。

往期文章:【Hadoop和Hbase集群配置】3台虚拟机、jdk+hadoop+hbase下载和安装、环境配置和集群测试-CSDN博客

一、安装Zookeeper

1、进入/export/software,使用rz上传zookeeper安装包,如下所示:

2、在/export/software上ll命令查看安装包是否上传成功

3、将ZooKeeper安装包解压至/export/servers目录

tar -zxvf zookeeper-3.4.10.tar.gz -C /export/servers/

4、在/export/servers上ll命令查看安装包是否解压成功

二、配置Zookeeper集群

1、进入虚拟机Hadoop1中ZooKeeper安装目录的conf目录

cd /export/servers/zookeeper-3.4.10/conf

2、复制ZooKeeper模板文件zoo_sample.cfg创建文件zoo.cfg

 cp zoo_sample.cfg zoo.cfg

3、编辑文件zoo.cfg

vi zoo.cfg

修改内容为

dataDir=/export/data/zookeeper/zkdata

clientPort=2181

添加内容为(对应三台虚拟机映射)

server.1=192.168.204.134:2888:3888

server.2=192.168.204.135:2888:3888

server.3=192.168.204.136:2888:3888

4、分发zookeeper到Hadoop2和Hadoop3

scp -r /export/servers/zookeeper-3.4.10 root@hadoop2:/export/servers/

scp -r /export/servers/zookeeper-3.4.10 root@hadoop3:/export/servers/

5、创建数据持久化目录

mkdir -p /export/data/zookeeper/zkdata

Hadoop1中

Hadoop2中

Hadoop3中

6、创建myid文件,三台虚拟机的myid值依次为1、2、3

Hadoop1中,echo 1 > /export/data/zookeeper/zkdata/myid

Hadoop2中,echo 2 > /export/data/zookeeper/zkdata/myid

Hadoop3中,echo 3 > /export/data/zookeeper/zkdata/myid

7、配置zookeeper系统环境变量,进入环境变量文件profile

添加zookeeper环境语句

export ZK_HOME=/export/servers/zookeeper-3.4.10

export PATH=$PATH:$ZK_HOME/bin

初始化profile

8、给Hadoop2和Hadoop3分发profile

scp -r /export/servers/zookeeper-3.4.10/ hadoop2:/export/servers/

scp -r /export/servers/zookeeper-3.4.10/ hadoop3:/export/servers/

初始化profile

三、Zookeeper服务的启动与关闭

1、在三台虚拟机启动zookeeper集群

zkServer.sh start

Hadoop1

Hadoop2

Hadoop3

2、查看zookeeper集群状态

zkServer.sh status

Hadoop1

Hadoop2

Hadoop3

四、Zookeeper的shell操作

1、启动客户端工具zkCli

基于完全分布式模式部署的ZooKeeper处于启动状态。在虚拟机Hadoop2中启动客户端工具zkCli,以连接虚拟机Hadoop3的ZooKeeper服务为例。

zkCli.sh -server hadoop3:2181

2、create命令,创建ZNode

(1)创建持久节点persistent_node,指定持久节点的数据内容为apple

create /persistent_node apple

(2)创建持久顺序节点seq_persistent_node,指定持久顺序节点的数据内容为pear

create -s /persistent_node/seq_persistent_node pear

(3)创建临时节点ephemeral_node,指定临时节点的数据内容为banana

create -e /persistent_node/ephemeral_node banana

(4)创建临时顺序节点seq_ephemeral_node,指定临时顺序节点的数据内容为orange

create -s -e /persistent_node/seq_ephemeral_node orange

(5)在持久节点persistent_node下创建一个名为children_node的子节点。

创建:create /persistent_node/children_node

删除:Delete /persistent_node/children_node

(6)查看节点创建情况,使用get命令或者ls命令

get /persistent_node

ls /persistent_node

  1. ls命令,查看指定ZNode的子节点或属性

(1)查看持久节点persistent_node的子节点(3个)

ls /persistent_node

(2)退出zkCli,再进入,查看持久节点,

退出:quit

进入:zkCli.sh -server hadoop3:2181

查看:ls /persistent_node

临时节点和临时顺序节点已经自动删除

(3)查看持久节点属性

ls2 /persistent_node

(4)递归查看根节点的所有子节点

Ls /

(5)向持久节点 persistent_node 注册 Watcher,监听该 ZNode 的变化

get /

4、get命令

查看持久节点persistent_node的数据内容。

get /persistent_node

5、set命令

修改持久节点persistent_node的数据内容为Green。

set /persistent_node Green

6、delete命令

先创建持久节点persistent_node的子节点children_node

create /persistent_node/children_node "Hello, ZooKeeper!" world:anyone:crdwa

ls /persistent_node

再删除持久节点persistent_node的子节点children_node

delete /persistent_node/children_node

7、rmr命令

递归删除持久节点persistent_node包含的所有子节点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/885146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shell 脚本中变量和字符串的入门介绍

以下是关于 Shell 脚本中变量和字符串的入门介绍: 变量 定义变量 在 Shell 脚本中,定义变量不需要指定类型。变量名一般以字母或下划线开头,不能以数字开头。例如: name"John" age25这里定义了两个变量 name 和 age&…

Golang | Leetcode Golang题解之第547题身份数量

题目: 题解: func findCircleNum(isConnected [][]int) (ans int) {n : len(isConnected)parent : make([]int, n)for i : range parent {parent[i] i}var find func(int) intfind func(x int) int {if parent[x] ! x {parent[x] find(parent[x])}re…

Leetcode 778 Swim in a Rising water

题是指什么时候你能从左上角游到右下角。第t分钟的时候,水的高度是t。grid[i][j]是海拔,只有当前水的高度没过海拔,我才能游。你可以往四个方向游泳。求问,最少第几分钟我能从左上角游到右下角(有一条路径)…

Ardusub中添加自定义控制器

1.建议保留原程序 复制ardupilot文件夹到当前目录,命名为ardupilot_ARDC cp -r ardupilot ardupilot_copy2.切换Sub-4.5版本 Sub-4.1版本libraries里没有AC_CustomControl文件夹,我们需要用到这个文件夹所以需要进行切换分支,在当前ardupi…

ReactPress:重塑内容管理的未来

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议,欢迎一起共建,感谢Star。 ReactPress:重塑内容管理的未来 在当今信息爆炸的时代,一个高效、易用的内容管理系统&#xff0…

云集电商:如何通过 OceanBase 实现降本 87.5%|OceanBase案例

云集电商,一家聚焦于社交电商的电商公司,专注于‘精选’理念,致力于为会员提供超高性价比的全品类精选商品,以“批发价”让亿万消费者买到质量可靠的商品。面对近年来外部环境的变化,公司对成本控制提出了更高要求&…

vue3实现一个无缝衔接、滚动平滑的列表自动滚屏效果,支持鼠标移入停止移出滚动

文章目录 前言一、滚动元素相关属性回顾一、实现分析二、代码实现示例:2、继续添加功能,增加鼠标移入停止滚动、移出继续滚动效果2、继续完善 前言 列表自动滚屏效果常见于大屏开发场景中,本文将讲解用vue3实现一个无缝衔接、滚动平滑的列表自…

三周精通FastAPI:36 OpenAPI 回调

官方文档: OpenAPI 回调 您可以创建触发外部 API 请求的路径操作 API,这个外部 API 可以是别人创建的,也可以是由您自己创建的。 API 应用调用外部 API 时的流程叫做回调。因为外部开发者编写的软件发送请求至您的 API,然后您的…

深入解析语音识别中的关键技术:GMM、HMM、DNN和语言模型

目录 一、高斯混合模型(GMM)与期望最大化(EM)算法二、隐马尔可夫模型(HMM)三、深度神经网络(DNN)四、语言模型(LM)五、ASR系统的整体工作流程结论 在现代语音…

如何将现有VUE项目所有包更新到最新稳定版

更新有风险,Enter要谨慎!!! 要将项目中的所有 npm 包更新到最新稳定版,可以使用 npm-check-updates 工具。以下是具体步骤: 步骤一:安装 npm-check-updates 首先,全局安装 npm-check-updates 工具: npm install -g…

如何使用 C# 编写一个修改文件时间属性的小工具?

下面是简鹿办公一个用 C# 编写的简单工具,它可以批量修改文件的创建时间、最后访问时间和最后修改时间。我们将使用 .NET Framework 或 .NET Core 来实现这个功能。 完整示例代码 1. 创建一个新的 C# 控制台应用程序 您可以使用 Visual Studio 或 .NET CLI 创建一个…

使用PyQt5设计一个简易计算器

目录 设计UI图 代码 结果展示 设计UI图 代码 from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import QFileDialog, QMainWindow, QMessageBox from untitled import Ui_MainWindow import sysclass…

音频模型介绍

在处理音频数据方面,有多种模型表现出色,它们在不同的音频处理任务上有着各自的优势: 自动编码器:包括多通道变分自动编码器、自回归模型和生成对抗网络等,这些模型在音乐生成领域取得了令人印象深刻的成果。 深度生成…

云计算基础:AWS入门指南

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 云计算基础:AWS入门指南 云计算基础:AWS入门指南 云计算基础:AWS入门指南 引言 AWS概述 什么…

动态规划-两个数组的dp问题——712.两个字符串的最小ASCII删除和

1.题目解析 题目来源 712.两个字符串的最小ASCII删除和——力扣 测试用例 2.算法原理 1.状态表示 由于如果直接求本题会发现无从下手,不妨根据正难则反的原理,反向求公共子序列的ASCII码最大值即可,于是就转化为求公共子序列的问题&#x…

elementui中的新增弹窗在新增数据成功后再新增 发现数据无法清除解决方法

elementui中的新增弹窗在新增数据成功后再新增 发现数据无法清除解决方法 试过网上其他方法,发现表单清空数据还是有问题,索性用下面方法解决: // 给弹框里面添加 v-ifvisible测试无问题,暂时先这样解决,如果有其他方法&#x…

python 天气数据可视化

Python爬取天气数据及可视化分析 https://blog.csdn.net/weixin_69423932/article/details/135184643

基于Arduino的RGB灯按键控制

一.简介 通过按键控制RGB灯分别显示7种颜色:红 、绿、 蓝、 黄、 青、 紫、 白。 二.按键控制RGB灯原理 1)RGB全彩LED: LED由三个颜色分别为:红(Red)、绿(Green)、蓝(Blue)的LED…

非关系型数据库(1)---MongoDB

目录 1.MongoDB 1.MongoDB的特点 2.MongoDB的应用场景 3.MongoDB与MySQL的比较 2.数据库操作 1. 创建数据库 2. 切换数据库 3. 查看所有数据库 4. 查看当前数据库 5. 删除数据库 6. 查看数据库统计信息 7. 备份数据库 8. 恢复数据库 9. 创建用户和授权 10. 删除用…

1. pytorch 中冻结模型参数后参数仍会被调整

问题 self.sgf_net.requires_grad_(False)起初设置 requires_grad(False) 优化器也没有添加sgfnet的模型参数。但是在pylightning框架中,每次推理完模型的参数都会被改变,经过仔细排查发现问题 # self.sgf_net.requires_grad_(False)for param in self.s…