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.pswp.cn/pingmian/80351.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80351.shtml
英文地址,請注明出處:http://en.pswp.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)。它的設計初衷是為分類任務…

我的世界云端服務器具體是指什么?

我的世界云端服務器是指一種基于互聯網的多人游戲服務器,將游戲服務器運行在云平臺上,而不是在本地計算機中,這使用戶不需要考慮自身電腦的性能和網絡穩定性,只需要通過網絡連接到云端服務器,就可以享受到順暢的游戲體…