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

news2024/11/8 9:09:52

目录

一、安装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.coloradmin.cn/o/2235708.html

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

相关文章

Transformer和BERT的区别

Transformer和BERT的区别比较表: 两者的位置编码: 为什么要对位置进行编码? Attention提取特征的时候,可以获取全局每个词对之间的关系,但是并没有显式保留时序信息,或者说位置信息。就算打乱序列中token…

Python爬虫如何处理验证码与登录

Python爬虫如何处理验证码与登录 Python 爬虫在抓取需要登录的网站数据时,通常会遇到两个主要问题:登录验证和验证码处理。这些机制是网站用来防止自动化程序过度抓取数据的主要手段。本文将详细讲解如何使用 Python 处理登录与验证码,以便进…

《深入浅出Apache Spark》系列②:Spark SQL原理精髓全解析

导读:SQL 诞生于 20 世纪 70 年代,至今已有半个世纪。SQL 语言具有语法简单,低学习门槛等特点,诞生之后迅速普及与流行开来。由于 SQL 具有易学易用的特点,使得开发人员容易掌握,企业若能在其计算机软件中支…

JS实现,防抖节流 + 闭包

防抖(Debounce) 防抖是指短时间内大量触发同一事件,只会在最后一次事件完成后延迟执行一次函数。 防抖的典型应用场景是输入框的搜索建议功能,用户输入时不需要每次输入都去查询,而是在用户停止输入一段时间后才进行…

安卓编程最方便的读写资料类SharedPreferences,多个APP共享

本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据 …

数据分析:转录组差异fgsea富集分析

文章目录 介绍加载R包数据链接导入数据数据预处理DE testing: 2BP vs no-BP比较limma-voomLoad steroid dataIn No-BP patientsIn 2BP patientsCompare gene expression vs bacterial mass其他系统信息介绍 转录组差异fgsea富集分析是一种基于基因集的富集分析方法,它关注的是…

Day13杨辉三角

给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> res new Arra…

Avalonia11如何优雅的跨组件通信

背景&#xff1a; 官网只介绍了推荐适用ReactiveUI&#xff0c;没有过多的案例介绍&#xff0c;对于初入桌面应用开发的小白极其不友好。 本文介绍在Avalonia应用中通过ReactiveUI中的MessageBus进行跨组件通信. 假设需求案例&#xff1a; MainWindowViewModel中发送消息&a…

【开发实战】彻底了解 ThreadLocal

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区:个人社区 💞 个人主页:个人主页 🙉 专栏地址: ✅ Java 中级 🙉八股文专题:剑指大厂,手撕 J…

基于开源 AI 智能名片、S2B2C 商城小程序的用户获取成本优化分析

摘要&#xff1a;本文围绕用户获取成本&#xff08;CAC&#xff09;这一关键指标展开深入剖析&#xff0c;详细阐述其计算方式&#xff0c;并紧密结合开源 AI 智能名片与 S2B2C 商城小程序的独特性质&#xff0c;从多个维度探讨如何通过挖掘新的获客渠道、巧妙运用私域流量池等…

KV260 - PYNQ 主目录 - U盘挂载

目录 1. 简介 2. 具体操作 2.1 查看 USB 设备 2.2 查看 U 盘设备节点 2.3 挂载 U 盘到指定目录 2.4 查看挂载状态 2.5 卸载 U 盘 3. 总结 1. 简介 在 KV260 使用 Jupyter Lab 可以非常方便开发各种应用。有时不方便在 PC 端连接 U 盘&#xff0c;那么可以把 U 盘连在 …

金媒婚恋相亲系统10.4择爱开源旗舰版支持微信小程和抖音小程序上架

最近大家应该注意到了&#xff0c;金媒婚恋相亲系统已经更新至最新的10.4版本了&#xff01;本人作为商业用户也已经更新至最新的旗舰版了&#xff0c;更新的内容是啥&#xff01;这个官方都有列出&#xff0c;一个方面就是更新了多端的登录逻辑和UI 和后台CRM及很多细节的优化…

用环形数组实现队列(多种高级方法,由浅入深)

同普通数组实现的队列相比&#xff0c;普通数组的头结点和尾节点都是固定的&#xff0c;在进行移除的时候如果移除了一个节点&#xff0c;后面所有节点都需要进行移除操作&#xff0c;需要的时间复杂度更高 在环形数组中&#xff0c;确定了头尾指针的环形数组很好地解决了这一…

【毫米波雷达(七)】自动驾驶汽车中的精准定位——RTK定位技术

一、什么是RTK&#xff1f; RTK&#xff0c;英文全名叫做Real-time kinematic&#xff0c;也就是实时动态。这是一个简称&#xff0c;全称其实应该是RTK&#xff08;Real-time kinematic&#xff0c;实时动态&#xff09;载波相位差分技术。 二、RTK的组装 如上图所示&#x…

小北的字节跳动青训营与调用模型:调用模型:OpenAI API vs 微调开源Llama2/ChatGLM(持续更新中~~~)

前言 最近&#xff0c;字节跳动的青训营再次扬帆起航&#xff0c;作为第二次参与其中的小北&#xff0c;深感荣幸能借此机会为那些尚未了解青训营的友友们带来一些详细介绍。青训营不仅是一个技术学习与成长的摇篮&#xff0c;更是一个连接未来与梦想的桥梁~ 小北的青训营 X M…

通过DNS服务器架构解释DNS请求过程

在前面的章节&#xff0c;这里&#xff0c;基于PCAP数据包和RFC文档详细介绍了DNS请求和响应的每个字段的含义。但是在现实的网络世界中&#xff0c;DNS请求和响应的数据包是怎么流动的&#xff0c;会经过哪些设备。本文将着重说明一下目前网络空间中DNS请求和响应的流动过程。…

Netty实现WebSocket Server是否开启压缩深度分析

是否开启压缩会直接影响与客户端是否能够成功握手。 一、具体分析 通常客户端发起与Websocket连接一般是以下形式。 1&#xff09;包含6个必要的Header Request Headers Sec-WebSocket-Version: 13 Sec-WebSocket-Key: Nlpc0kiHFjRom5/62lj8bA Connection: Upgrade Upgrade…

IntelliJ IDEA 2023.2——配置说明

IntelliJ IDEA 2023.2——配置说明 IntelliJ IDEA 的官方下载地址 IntelliJ IDEA 官网下载地址 一路上NEXT 到结尾&#xff1a; 继续NEXT 下一步: 界面如下图所示 界面如下图所示 ctrl F 查找 “码猿趣事” 查找【idea99】

算法通关(4)-- 前缀树

前缀数原理和代码 原理 前缀树&#xff08;Trie树&#xff09;&#xff0c;也称为字典树&#xff0c;是一种用于高效存储和检索字符串的数据结构。它是一种树形结构&#xff0c;能够利用字符串的公共前缀来减少存储空间和查询时间。 现在有“acb”,"cba","ac…

【CSS】“flex: 1“有什么用?

flex 属性的组成 flex 属性是一个复合属性&#xff0c;包含以下三个子属性&#xff1a; flex-grow&#xff1a;决定元素在容器中剩余空间的分配比例。默认值为 0&#xff0c;表示元素不会扩展。当设置为正数时&#xff0c;元素会按照设定比例扩展。flex-shrink&#xff1a;决…