Zookeeper单机版安装部署

目录

  • 1.1、概述
  • 1.2、系统环境
  • 1.3、部署流程
    • 1.3.1、下载安装包
    • 1.3.2、解压文件
    • 1.3.3、创建数据目录和日志目录
    • 1.3.4、配置ZooKeeper
    • 1.3.5、启动ZooKeeper服务
    • 1.3.6、连接和验证
  • 1.4、Zookeeper服务管理命令
    • 1.4.1、启动Zookeeper服务
    • 1.4.2、停止Zookeeper服务
    • 1.4.3、查看Zookeeper服务状态
    • 1.4.4、重启Zookeeper服务

1.1、概述

        ZooKeeper 的搭建模式包括单机模式、集群模式和伪集群模式,分别适用于不同的场景和需求,从简单的单节点测试环境到复杂的多节点高可用生产环境。在实际部署时,应根据系统的可用性要求、数据量、并发负载等因素选择合适的部署模式。

  • 单机模式(Standalone Mode)
            在单机模式下,ZooKeeper 仅在一个单独的服务器节点上运行。这种模式主要用于开发测试环境,便于快速部署和调试。由于只有一个节点,没有数据冗余和故障转移机制,因此不具备高可用性。单节点故障会导致整个服务不可用,不适用于生产环境。
  • 集群模式(Cluster Mode / Distributed Mode)
            集群模式是 ZooKeeper 在生产环境中推荐使用的部署模式。它由多个(通常为奇数个,如 3、5、7 等)独立的服务器节点组成一个 ZooKeeper 集群。每个节点既是服务提供者又是服务消费者,它们之间通过心跳机制保持通信,并通过 ZAB(ZooKeeper Atomic Broadcast)协议实现数据的复制、同步和一致性保证。集群模式提供了高可用性、容错性和可扩展性,即使部分节点发生故障,只要集群中存活节点的数量大于等于半数(即形成“多数派”),ZooKeeper 集群就能继续对外提供服务。
  • 伪集群模式(Pseudo-Distributed Mode / Local Cluster Mode)
            伪集群模式是在单台物理或虚拟机上模拟多节点集群的部署方式。在同一台机器上启动多个 ZooKeeper 服务实例,每个实例配置不同的端口、数据目录和身份标识(如服务器ID)。尽管所有节点实际上运行在同一台机器上,但从逻辑上看,它们形成了一个小型的 ZooKeeper 集群,能够模拟集群模式的行为,包括数据复制、节点选举等。伪集群模式常用于本地开发和测试环境,便于在单机上模拟多节点集群环境,验证分布式协调逻辑。

1.2、系统环境

        zookeeper服务器是用Java创建的,运行在JVM之上。需要安装JDK7以上版本(最好JDK8或以上)。如果服务器上没有JDK环境请自行安装,这里不在赘述。具体系统环境如下:

环境名称版本号
操作系统CentOS Linux release 8.4.2105
JDK17.0.7
ZooKeeper3.8.4

1.3、部署流程

        本文将在操作系统为CentOS Linux release 8.4.2105、Java环境为JDK17.0.7的服务器上部署ZooKeeper3.8.4版本,具体流程如下:

1.3.1、下载安装包

        用户可以自行在Apache ZooKeeper官网 ,选择最新稳定版本进行下载。在国内,从官网的下载速度较慢,可以从博主提供的资源地址下载:资源下载,也可以选择国内镜像站下载,比如阿里镜像站:阿里镜像 。官网下载和阿里镜像下载如下:
官网
阿里镜像
        下载文件一般为一个.tar.gz或.zip格式的压缩包,例如 apache-zookeeper-3.8.4-bin.tar.gz。下载后将安装包保存在服务器上的自定义目录下即可,比如:/usr/local/ZooKeeper。

1.3.2、解压文件

        对于.tar.gz文件,可以使用以下命令进行文件解压。命令如下:

tar -xvzf apache-zookeeper-3.8.4-bin.tar.gz

        解压后,将会生成一个名为 apache-zookeeper-3.8.4-bin 的目录,该目录即为ZooKeeper的安装目录。为了方便配置,可以重命名 ZooKeeper 安装目录。解压后的目录结构如下:
目录结构

1.3.3、创建数据目录和日志目录

        根据ZooKeeper的配置要求,需要创建两个目录分别用于存放数据和日志。如果不需要单独存放日志时,data 和 logs 可以共用一个目录。命令如下:

mkdir /data/zookeeper/data
mkdir /data/zookeeper/logs

1.3.4、配置ZooKeeper

        进入 apache-zookeeper-3.8.4-bin/conf 目录,使用 cp zoo_sample.cfg zoo.cfg 命令拷贝 zoo_sample.cfg 到当前目录。拷贝结果如下:
拷贝结果
        使用文本编辑器(如 vi、nano 或 emacs)打开 zoo.cfg 文件并进行如下配置:# 数据目录设置 dataDir=/data/zookeeper/data # 日志目录设置(如果需要单独存放日志) dataLogDir=/data/zookeeper/logs # 客户端连接端口 clientPort=2181。最终配置文件如下:
配置文件
        配置文件参数详解

  • tickTime
            时钟每跳的时间,默认值是2000毫秒,也就是2秒。
  • initLimit
            初始化集群时集群节点同步超时时间,默认值是10跳,也就是20秒。
  • syncLimit
            集群在运行过程中同步数据超时时间,默认值是5跳,也就是10秒。
  • dataDir
            数据存储位置。
  • dataLogDir
            日志存储位置。
  • clientPort
            ZooKeeper服务监听的端口,客户端连接的端口。
  • maxClientCnxns
            端连接线程池的数量,也就是最大客户端连接数量。

1.3.5、启动ZooKeeper服务

        进入 apache-zookeeper-3.8.4-bin/bin 目录,执行 ./zkServer.sh start 命令启动 Zookeeper服务,启动成功后的效果如下:
启动成功

1.3.6、连接和验证

        验证单机模式运行状态可以通过查看日志或客户端连接的方式来验证,具体如下:

  • 查看日志
            检查指定的 dataLogDir 中的ZooKeeper日志文件,确认是否有启动成功的消息和其他异常信息。
  • 使用命令行客户端
            在ZooKeeper安装目录下,执行命令行客户端以连接到本地ZooKeeper服务:./zkCli.sh -server localhost:2181,如果连接成功,客户端将显示欢迎信息及提示符 [zkshell:0]。你可以尝试执行一些基本的命令,如 ls / 查看根节点下的子节点列表,验证ZooKeeper服务的响应。具体如下:
    启动成功

1.4、Zookeeper服务管理命令

1.4.1、启动Zookeeper服务

zkServer.sh start

1.4.2、停止Zookeeper服务

zkServer.sh stop

1.4.3、查看Zookeeper服务状态

zkServer.sh status

1.4.4、重启Zookeeper服务

zkServer.sh restart

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

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

相关文章

在 Elasticsearch 中删除文档中的某个字段

作者:来自 Elastic Kofi Bartlett 探索在 Elasticsearch 中删除文档字段的方法。 更多有关 Elasticsearch 文档的操作,请详细阅读文章 “开始使用 Elasticsearch (1)”。 想获得 Elastic 认证?查看下一期 Elasticsear…

元数据和主数据

元数据和主数据是数据管理中的两个关键概念,其核心区别如下: 1. 定义与本质 元数据(Metadata) “关于数据的数据”,用于描述数据的属性、结构、来源、用途等上下文信息。 示例:数据库表的字段名称、数据类型…

java的Stream流处理

Java Stream 流处理详解 Stream 是 Java 8 引入的一个强大的数据处理抽象,它允许你以声明式方式处理数据集合(类似于 SQL 语句),支持并行操作,提高了代码的可读性和处理效率。 一、Stream 的核心概念 1. 什么是 Str…

llama-Factory不宜直接挂接Ollama的大模型

前言 llama-Factory尝试使用Ollama本地安装的大模型。 一、在Ollama中安装QWen 安装qwen:0.5b 安装完成了: 同理安装qwen2.5:0.5b 安装完毕后,再用ollama list进行查看: 我们在chatbox中进行查看: 说明这两个大模型,…

基于WSL用MSVC编译ffmpeg7.1

在windows平台编译FFmpeg,网上的大部分资料都是推荐用msys2mingw进行编译。在win10平台,我们可以采用另一种方式,即wslmsvc 实现window平台的ffmpeg编译。 下面将以vs2022ubuntu22.04 为例,介绍此方法 0、前期准备 安装vs2022 &…

vue3+vite项目引入tailwindcss

从2025年1月tailwindcss4.0发布开始使用tailwindcss比之前简化很多 1,安装 yarn add tailwindcss tailwindcss/vite2,配置vite.config.js import tailwindcss from tailwindcss/vite;...plugins: [tailwindcss(),...] ...3,在主css文件顶部添加 注意一定是css文件,不能是sc…

蓝牙RFCOMM协议概述

RFCOMM概述 概念 RFCOMM 协议提供了对 L2CAP 协议上的串行端口的模拟。该协议基于 ETSI 标准 GSM 07.10。 RFCOMM 采用与 TS07.10 相同的字节序列方式。所有二进制数字都按照从低位到高位的顺序,从左至右读。 两个使用RFCOMM通信的蓝牙设备可以打开多个仿真串行端…

[工具]B站缓存工具箱 (By 郭逍遥)

📌 项目简介 B站缓存工具箱是一个多功能的B站缓存工具,包含视频下载、缓存重载、文件合并及系统设置四大核心功能。基于yutto开发,采用图形化界面操作,极大简化B站资源获取与管理流程。 工具可以直接将原本缓存的视频读取&#…

算法训练营第十三天|226.翻转二叉树、101. 对称二叉树、 104.二叉树的最大深度、111.二叉树的最小深度

递归 递归三部曲: 1.确定参数和返回值2.确定终止条件3.确定单层逻辑 226.翻转二叉树 题目 思路与解法 第一想法: 递归,对每个结点进行反转 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, le…

sunset:Solstice靶场

sunset:Solstice https://www.vulnhub.com/entry/sunset-solstice,499/ 1,将两台虚拟机网络连接都改为NAT模式 2,攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182,靶场IP192.168.23.244 3&#xff…

AZScreenRecorder最新版:功能强大、操作简便的手机录屏软件

AZScreenRecorder最新版是一款功能强大的手机录屏软件,专为安卓设备设计。它无需ROOT权限,支持无限录制时长,操作简单,录制过程中可以随时暂停,满足不同用户的个性化录屏需求。此外,用户还可以自定义分辨率…

模块自动导入的小工具

import { ref, reactive, onMounted } from vue import { useRoute, useRouter } from vue-router项目里很多文件都需要引入这些公共库,比较繁琐,使用一个小工具可以自动导入,就不需要在每个文件里面都写这些导入的代码了。 通过命令行下载安…

【读书笔记】《编码:隐匿在计算机软硬件背后的语言》01 逻辑与开关

【读书笔记】《编码:隐匿在计算机软硬件背后的语言》01 逻辑与开关 前言01 逻辑与开关 前言 我是一名光学工程专业研二的学生,目前正处于找工作的阶段,根据往年师兄师姐找工作的情况,在西安这个城市不出意外我能找到的应该就是嵌入…

TXT编码转换工具iconv

iconv.exe是实现TXT编码转换的命令行工具,支持几百种编码格式的转换,利用它可以在自主开发程序上实现TXT文档编码的自动转换。 一、命令参数格式 Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...] or: iconv -l 二、转换的示例 将UTF-8…

软考中级数据库备考-上午篇

背景 新工作主要做大数据平台,考一个软考中级数据库系统工程师,补足一下基础知识。 基础知识 1.计算机硬件基础知识 正确答案:C 正确答案:D 正确答案:C 正确答案:BC 正确答案:B 正确答案:D 正确答案:A DMA建立内存与外设的直接…

AtCoder AT_abc405_d ABC405D - Escape Route

前言 BFS 算法在 AtCoder 比赛中还是会考的,因为不常练习导致没想到,不仅错误 TLE 了很多,还影响了心态,3 发罚时后才 AC。 思路 首先,我们把所有位置和出口的距离算出来(用 BFS)&#xff0c…

【计算机视觉】目标检测:yoloV1~yoloV11项目论文及对比

以下是 YOLO (You Only Look Once) 系列模型从 V1 到 V11 的详细介绍和项目地址(截至2024年7月)。YOLO 是目标检测领域的里程碑模型,以其 实时性 和 高精度 著称,广泛应用于自动驾驶、安防监控、工业检测等领域。 YOLOv1 (2016) …

推荐系统架构设计

1.分析用户行为数据​:​ 收集用户的活跃时间、点击行为、浏览历史等数据。​分析用户的活跃模式,确定用户最活跃的时间段。​kafka flink 数据库 分析用户行为并存储 2. 预生成推荐内容​:​ 在用户活跃时间之前,预先生成推荐…

BERT类模型

1. BERT类模型是否需要处理 [CLS] 或池化? 那首先搞懂 [CLS] 和池化 (1)[CLS] 的作用 BERT 的输入格式中,每个序列的开头会添加一个特殊的 [CLS] Token(Classification Token)。它的设计初衷是为分类任务…

我的世界云端服务器具体是指什么?

我的世界云端服务器是指一种基于互联网的多人游戏服务器,将游戏服务器运行在云平台上,而不是在本地计算机中,这使用户不需要考虑自身电脑的性能和网络稳定性,只需要通过网络连接到云端服务器,就可以享受到顺畅的游戏体…