12-Linux部署Zookeeper集群

news2024/12/26 12:48:14

Linux部署Zookeeper集群

简介

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

除了为Hadoop和HBase提供协调服务外,Zookeeper也被其它许多软件采用作为其分布式状态一致性的依赖,比如Kafka,又或者一些软件项目中,也经常能见到Zookeeper作为一致性协调服务存在。

Zookeeper不论是大数据领域亦或是其它服务器开发领域,涉及到分布式状态一致性的场景,总有它的身影存在。

Zookeeper官网:https://zookeeper.apache.org/

安装

Zookeeper是一款分布式的集群化软件,可以在多台服务器上部署,并协同组成分布式集群一起工作。

  1. 首先,要确保已经完成了集群化环境前置准备环节的全部内容

    参考文章

    11-Linux部署集群准备:http://t.csdnimg.cn/zWbnd

  2. 【node1上操作】下载Zookeeper安装包,并解压

    • 下载
    wget --no-check-certificate http://archive.apache.org/dist/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gz
    

    image-20240228142837092

    • 创建解压目录
    # 确保如下目录存在,不存在就创建
    mkdir -p /export/server
    
    • 解压
    tar -zxvf apache-zookeeper-3.8.3-bin.tar.gz -C /export/server
    
  3. 【node1上操作】创建软链接

    ln -s /export/server/apache-zookeeper-3.8.3-bin /export/server/zookeeper
    

    image-20240228143800921

  4. 【node1上操作】修改配置文件

    vim /export/server/zookeeper/conf/zoo.cfg
    

    复制以下内容到zoo.cfg

    tickTime=2000
    # zookeeper数据存储目录
    dataDir=/export/server/zookeeper/data
    clientPort=2181
    initLimit=5
    syncLimit=2
    server.1=node1:2888:3888
    server.2=node2:2888:3888
    server.3=node3:2888:3888
    
  5. 【node1上操作】配置myid

    # 1. 创建Zookeeper的数据目录
    mkdir /export/server/zookeeper/data
    
    # 2. 创建文件,并填入1
    vim /export/server/zookeeper/data/myid
    # 在文件内填入1即可
    

    image-20240228143710102

  6. 【在node2和node3上操作】,创建文件夹

    mkdir -p /export/server
    
  7. 【node1上操作】将Zookeeper 复制到node2和node3

    cd /export/server
    
    scp -r zookeeper node2:`pwd`/
    scp -r zookeeper node3:`pwd`/
    
  8. 【在node2上操作】

    • 修改myid文件
    vim /export/server/zookeeper/data/myid
    # 修改内容为2
    

    image-20240228144218931

  9. 【在node3上操作】

    • 修改myid文件
    vim /export/server/zookeeper/data/myid
    # 修改内容为3
    

    image-20240228144327703

  10. 【在node1、node2、node3上分别执行】启动Zookeeper

    /export/server/zookeeper/bin/zkServer.sh start		# 启动Zookeeper
    
  11. 【在node1、node2、node3上分别执行】检查Zookeeper进程是否启动

    jps
    
    • 结果中找到有:QuorumPeerMain 进程即可

    image-20240228144918189

  12. 【node1上操作】验证Zookeeper

    • 进入zookeeper的bin目录下,运行zkCli.sh
    cd /export/server/zookeeper/bin
    ./zkCli.sh
    

    image-20240228145233787

    • 进入到Zookeeper控制台中后,执行
    ls /
    # 如无报错即配置成功
    

    image-20240228145618133

至此Zookeeper安装完成

ZooKeeper的常用命令

ZooKeeper是一个分布式的协调服务,它提供了一些常用的命令来管理和操作ZooKeeper集群。以下是一些常用的ZooKeeper命令:

  1. create:创建一个新的ZooKeeper节点。 示例:create /path value
  2. get:获取指定路径下节点的值。 示例:get /path
  3. set:设置节点的值。 示例:set /path value
  4. delete:删除指定路径下的节点。 示例:delete /path
  5. ls:列出指定路径下的子节点。 示例:ls /path
  6. stat:获取指定路径下节点的详细信息。 示例:stat /path
  7. exists:检查指定路径下的节点是否存在。 示例:exists /path

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

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

相关文章

设计模式:六大原则 ③

一、六大设计原则 🍠 开闭原则 (Open Close Principle) 💌 对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易…

4步教你完成一篇让人挑不出毛病的产品需求文档!

“需求”这个词是产品经理工作中的常客,产品需求文档也贯穿于整个产品经理的日常工作中,本周小编将通过什么是产品需求文档,产品需求文档的作用、如何写好产品需求文档等方面分享如何写出一篇让你挑不出毛病的PRD,让需求文档助力产…

光分路器概述

光分路器主要有两种 技术: ㈠平面波导型光分路器(PLC Splitter) PLC分路器的封装是指将平面波导分路器上的各个导光通路(即波导通路)与光纤阵列中的光纤一一对准,然后用特定的胶(如环氧胶)将其粘合在一起…

计算机系统中的文件系统梳理

看之前,大家动动小手点个关注,谢谢。 原文地址:计算机系统中的文件系统梳理 - Pleasure的博客 下面是正文内容: 前言 这是一篇笔记 我之所以要选择这个话题,是因为前几天在对TF卡进行格式化的时候遇到了问题。有些专…

每日一练 | 华为认证真题练习Day192

1、下面是路由器RTB的部分输出信息,关于输出信息描迷错误的是: A. 接口上动态加入的组播组个数是1。 B. 加入的组播组地址是225.1.1.2 C. DISPLAY IGMP GROUP命令用来查看IGMP组播组信息,包括通过成员报告动态加入的组播组和通过命令行静态加入的组播组…

抖音视频下载软件|视频批量采集工具

便捷操作,高效采集 在快节奏的数字化时代,我们的视频下载软件提供了简单便捷的操作流程,让用户能够高效地采集所需视频内容。用户只需输入关键词并点击开始抓取,系统会自动搜索指定关键词下的抖音视频数据,并将待解析视…

2024年软考考试安排和报名时间出来了!有重大变化!

软考办2024年软考考试安排终于发布了!变化很大!信息系统项目管理师上半年考、系统集成项目管理工程师下半年考。很多科目一年只考一次了! 温馨提示: 1、目前这个文件,软考办官网还未发布,但是陕西软考办官方已经发布了2024年考试安排&…

kafka查看消息两种方式(命令行和软件)+另附发送消息方式

1、命令行方式 ①找到kafka安装文件夹 ②执行命令 #指定offset为指定时间作为消息起始位置 kafka-consumer-groups.sh \ --bootstrap-server 20.2.246.116:9092 \ --group group_1 \ --topic lanxin_qiao \ --reset-offsets \ --to-datetime 2023-07-19T01:00:00.000 \ -exe…

有没有想过找个编程的贴身帮手?一步一步引入编程路上的副驾驶--copilot

辅助编程,或者说智能编程,这个概念不是这两年才提出,但比较成型的产品就在这几年,这里有一款智能编程的软件叫做copilot,从软件的名字我们知道,他貌似定位还蛮准确的,意思是你编程路上的副驾驶&…

第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组 统计子矩阵

#include<iostream> #include<algorithm> #include<cstring> #include<string> #include<vector> #include<queue>using namespace std;int cnt,temp; int n,m,K; int a[505][505]; int pre[505][505];//二维前缀和void sol() {cin>>…

《RabbitMQ实战指南》读书笔记

第一章 RabbitMQ简介 1.1 什么是消息中间件 消息&#xff08;message&#xff09;是指在应用间传递的数据。 消息队列中间件&#xff08;Message Queue Middleware&#xff0c;简称MQ&#xff09;&#xff0c;是指提供平台无关的、高效可靠的消息传递机制的中间件。 MQ通常又…

生成哈夫曼树 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 给定长度为 n 的无序的数字数组&#xff0c;每个数字代表二叉树的叶子节点的权值&#xff0c;数字数组的值均大于等于 1 。 请完成一个函数&#xff0c;根据输入…

解决JitPack中编译成功但是无aar文件的情况

情况(编译后无aar文件) 上传仓库后&#xff0c;在JitPack中编译成功后的截图 解决方法 通过上图可发现代码已经编译通过&#xff0c;但是在Files中却没有aar文件的生成 解决方法是添加配置&#xff0c;上代码 // publishing 用于定义项目的发布相关配置 publishing {// 配置…

2024全网最全Excel函数与公式应用

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 引言 Excel是一款广泛应用于商业、教育和个人…

【教程】APP开发后如何上架?

摘要 本文介绍了移动应用程序&#xff08;APP&#xff09;开发后如何上架的步骤和注意事项。内容包括选择合适的应用商店、遵循应用商店的规则和政策、准备上架所需材料、创建开发者账号、提交APP并等待审核等环节&#xff0c;以及上架成功后的推广和维护工作。 引言 移动应…

MySQL:索引的优化方法

索引是帮助存储引擎快速获取数据的一种数据结构&#xff0c;形象的说就是索引是数据的目录。 索引创建的时机&#xff1a; 索引并不是越多越好的&#xff0c;虽然他再查询时会提高效率&#xff0c;但是保存索引和维护索引也需要一定的空间和时间成本的。 不创建索引&#xff1a…

一本书讲透ChatGPT——理论与实践的完美结合,大模型技术工程师的必备指南

写在前面 OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景&#xff0c;在多项专业和学术基准测试中表现出的智力水平&#xff0c;不仅接近甚至有时超越了人类的平均水平。这使得 ChatGPT 在推出之初就受到广大用户的欢迎&#xff0c;被科技界誉…

transformer--transformer模型构建和测试

前面几节进行了各种组件的学习和编码&#xff0c;本节将组件组成transformer&#xff0c;并对其进行测试 EncoderDecoder 编码器解码器构建 使用EnconderDecoder实现编码器-解码器结构 # 使用EncoderDeconder类实现编码器和解码器class EncoderDecoder(nn.Module):def __ini…

Jenkins 的安装(详细教程)

文章目录 一、简介二、安装前准备三、windows 安装与启动1. 方式一2. 方式二3. 方式三 四、创建管理员用户五、常用设置1. 配置镜像地址2. 更改工作目录3. 开启可注册用户4. 全局变量配置 一、简介 官网&#xff1a;https://www.jenkins.io 中文文档&#xff1a;https://www.j…

什么是RabbitMQ的死信队列

RabbitMQ的死信队列&#xff0c;是一种用于处理消息&#xff0c;处理失败或无法路由的消息的机制。它允许将无法被正常消费的消息重新路由到另一个队列&#xff0c;以便稍后进行进一步的处理&#xff0c;分析或排查问题。 当消息队列里面的消息出现以下几种情况时&#xff0c;就…