【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,一经查实,立即删除!

相关文章

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…

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,然后您的…

如何将现有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…

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

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

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

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

基于Arduino的RGB灯按键控制

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

hive数据查询语法

思维导图 基本查询 基本语法 SELECT [ALL | DISTINCT] 字段名, 字段名, ... FROM 表名 [inner | left outer | right outer | full outer | left semi JOIN 表名 ON 关联条件 ] [WHERE 非聚合条件] [GROUP BY 分组字段名] [HAVING 聚合条件] [ORDER BY 排序字段名 asc | desc…

前端小知识:我居然没学会用 split 方法?!

小伙伴们,你们会用 JavaScript 的 split 方法吗?最近我才发现,原来我多年来一直没真正掌握它,结果在解题时被卡住了。所以今天,我决定好好整理一下这个方法的用法。 在讨论问题之前,先来看一下 split 的两种…

VTK知识学习(2)-环境搭建

1、c方案 1.1下载源码编译 官网获取源码。 利用Cmake进行项目构建。 里面要根据实际使用的情况配置相关的模块哟,这个得你自行研究下了。 CMAKEINSTALLPREFIX--这个选项的值表示VTK的安装路径,默认的路径是C:/Program Files/VTK。该选项的值可不作更…

Halcon 从XML中读取配置参数

1、XML示例 以下是一个XML配置文件的示例,该文件包含了AOI(自动光学检测)算法的环境参数和相机逻辑参数: <AOI><!--AOI算法参数 20241106--><Env><!--环境参数--><Param name="GPUName" value="NVIDIA GeForce RTX 405…

SQL--查询连续三天登录数据详解

问题&#xff1a; 现有用户登录记录表&#xff0c;请查询出用户连续三天登录的所有数据记录 id dt1 2024-04-25 1 2024-04-26 1 2024-04-27 1 2024-04-28 1 2024-04-30 1 2024-05-01 1 2024-05-02 1 2024-05-04 1 2024-05-05 2 20…

结构方程、生物群落、数据统计、绘图分析在生态领域的应用

R语言结构方程模型&#xff08;SEM&#xff09;在生态学领域中的实践应用 结构方程模型&#xff08;Sructural Equation Model&#xff09;是一种建立、估计和检验研究系统中多变量间因果关系的模型方法&#xff0c;它可以替代多元回归、因子分析、协方差分析等方法&#xff0…

vue使用canves把数字转成图片验证码

<canvas id"captchaCanvas" width"100" height"40"></canvas>function drawCaptcha(text) {const canvas document.getElementById(captchaCanvas);const ctx canvas.getContext(2d);// 设置背景颜色ctx.fillStyle #f0f0f0;ctx.f…

双指针算法习题解答

1.移动零 题目链接&#xff1a;283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 题目解析&#xff1a;该题要求将数组中为0的元素全部转移到数组的末尾&#xff0c;同时不能改变非零元素的相对位置。 解题思路&#xff1a;我们可以用变量dest和cur将该数组分为三个区域。…