windows 中搭建Zookeeper的搭建

個人博客 :https://www.siyuan.run
CSDN:https://blog.csdn.net/siyuan
微信小程序:思遠Y

下載

在這里插入圖片描述

下載地址: https://mirrors.cnnic.cn/apache/zookeeper/

PS:zookeeper 從3.5.5以后的版本帶有bin標識的包,否則啟動的時候會報錯:“ 錯誤: 找不到或無法加載主類org.apache.zookeeper.server.quorum.QuorumPeerMain ” 。 tar.gz的包里面是只是源碼的包無法直接使用, 帶有bin名稱的包才是我們想要的下載可以直接使用的里面有編譯后的二進制的包 。

安裝

無需安裝,解壓到你要存放的目錄即可,我存放再D盤。

配置

  1. 修改文件名: 將zoo_simple.cfg文件名修改為zoo.cfg。
  2. 配置日志存放路徑
# The number of milliseconds of each tick
#  Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發                   送一個心跳。
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
# 集群中的follower服務器(F)與leader服務器(L)之間初始連接時能容忍的最多心跳數(tickTime的數量)
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
# 集群中的follower服務器與leader服務器之間請求和應答之間能容忍的最多心跳數(tickTime的數量)
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
# Zookeeper 將寫數據的日志文件也保存在這個目錄里
# 因為后面配置集群,所以再data后面使用目錄區分,單機版使用數字0目錄
dataDir=D:\\Install\\zookeeper\\apache-zookeeper-3.5.8-bin\\data\\0
# Zookeeper 保存日志文件的目錄
dataLogDir=D:\\Install\\zookeeper\\apache-zookeeper-3.5.8-bin\\log\\0
# the port at which the clients will connect
# 這個端口就是客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

單機版

啟動

找到bin目錄下zkServer.cmd雙擊打開

在這里插入圖片描述

測試

檢查啟動是否成功,雙擊打開zkCli.cmd

在這里插入圖片描述

PS:如果打開zkServer.cmd閃退可以再zkServer.cmd文件末尾增加pause ,這樣就不會閃退了,方便查看報錯信息,具體如下:

echo on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
pause
endlocal

集群版

配置

  1. 復制三個zoo.cfg,分別命名zoo1.cfgzoo2.cfgzoo3.cfg

zoo1.cfg

#dataDir=/tmp/zookeeper
# Zookeeper 將寫數據的日志文件也保存在這個目錄里
dataDir=D:\\Install\\zookeeper\\apache-zookeeper-3.5.8-bin\\data\\1
# Zookeeper 保存日志文件的目錄
dataLogDir=D:\\Install\\zookeeper\\apache-zookeeper-3.5.8-bin\\log\\1
# the port at which the clients will connect
clientPort=2181
#添加集群配置
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

zoo2.cfg

# Zookeeper 將寫數據的日志文件也保存在這個目錄里
dataDir=D:\\Install\\zookeeper\\apache-zookeeper-3.5.8-bin\\data\\2
# Zookeeper 保存日志文件的目錄
dataLogDir=D:\\Install\\zookeeper\\apache-zookeeper-3.5.8-bin\\log\\2
# the port at which the clients will connect
clientPort=2181
#添加集群配置
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

zoo3.cfg

# Zookeeper 將寫數據的日志文件也保存在這個目錄里
dataDir=D:\\Install\\zookeeper\\apache-zookeeper-3.5.8-bin\\data\\3
# Zookeeper 保存日志文件的目錄
dataLogDir=D:\\Install\\zookeeper\\apache-zookeeper-3.5.8-bin\\log\\3
# the port at which the clients will connect
clientPort=2181
#添加集群配置
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
  1. 在data目錄下分別創建1、2、3目錄

在這里插入圖片描述

分別在1、2、3目錄中創建myid文件。1目錄下的myid存放1;2目錄下的myid存放2;3目錄下的myid存放3。

在這里插入圖片描述

  1. 復制三個zkServer.cmd,分別命名:zkServer-1.cmdzkServer-2.cmdzkServer-3.cmd

zkServer-1.cmdzkServer-2.cmdzkServer-3.cmd配置cfg文件路徑,添加一句

set ZOOCFG=..\conf\zoo1.cfg

zkServer-1.cmd

setlocal
call "%~dp0zkEnv.cmd"set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOOCFG=..\conf\zoo1.cfg
set ZOO_LOG_FILE=zookeeper-%USERNAME%-server-%COMPUTERNAME%.logecho on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*endlocal

zkServer-2.cmd

setlocal
call "%~dp0zkEnv.cmd"set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOOCFG=..\conf\zoo2.cfg
set ZOO_LOG_FILE=zookeeper-%USERNAME%-server-%COMPUTERNAME%.logecho on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*endlocal

zkServer-3.cmd

setlocal
call "%~dp0zkEnv.cmd"set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOOCFG=..\conf\zoo3.cfg
set ZOO_LOG_FILE=zookeeper-%USERNAME%-server-%COMPUTERNAME%.logecho on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*endlocal

啟動

雙擊打開zkServer-1.cmdzkServer-2.cmdzkServer-3.cmd,開始啟動zkServer-1.cmd時會報錯原因是zkServer-2.cmdzkServer-3.cmd還未啟動,因此zookeeper之間交互的時候是不通的。等剩下的集群服務器啟動以后,就不會出現報錯了。

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273573.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273573.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273573.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

strcmp函數和strcpy函數

(一)strcmp函數 strcmp函數是比較兩個字符串的大小,返回比較的結果。一般形式是: istrcmp(字符串,字符串); 當中,字符串1、字符串2均可為字符串常量或變量;i 是用于存放比較結果的整型變量。比較結果…

Vs Code:Remote SSH

Remote SSH 簡介 Remote - SSH 擴展允許您使用任何帶有 SSH 服務器的遠程計算機作為開發環境。由于幾乎每個桌面和服務器操作系統都有可配置的 SSH 服務器,因此該擴展可以在各種情況下大大簡化開發。 您可以: 在部署的同一操作系統上進行開發&#xff…

樣條之貝塞爾(Bezier)

我曾經發過兩篇關于貝塞爾的文章:數學圖形(1.47)貝塞爾(Bzier)曲線,數學圖形之貝塞爾(Bzier)曲面。那是使用我自己定義的腳本語言生成貝塞爾圖形。由于我自己定義的腳本語法功能有限,所以最多只能支持5次貝塞爾函數,而這里將實現N…

TCollector

TCollector tcollector is a client-side process that gathers data from local collectors and pushes the data to OpenTSDB. You run it on all your hosts, and it does the work of sending each hosts data to the TSD. tcollector是client-side(客戶端&…

設計模式 之 工廠模式

項目源碼:https://gitee.com/Jacob-gitee/DesignMode 個人博客:https://jacob.org.cn 女媧造人的故事 東漢《風俗通》記錄了一則神話故事:“開天辟地,未有人民,女媧搏黃土做人”,講述的內容就是大家非常熟…

設計模式 之 單例模式

項目源碼:https://gitee.com/Jacob-gitee/DesignMode 個人博客:https://jacob.org.cn 宗旨 Ensure a class has only one instance,and provide a global point of access to it.(確保某一個類只有一個實例,而且自行實例化并向整個…

如何實現滑動scrollview上下隱藏

問題描述現在有一個需求,就是一個界面如下ABCA固定在頂部,C固定在底部其中B是一個scrollview(也可能是listview),要實現,在向上滑動B的時候,A平滑的往上滑,同時C平滑的往下滑,直到消失&#xff…

設計模式 之 抽象工廠模式

項目源碼:https://gitee.com/Jacob-gitee/DesignMode 個人博客 :https://jacob.org.cn 女媧的失誤 工廠模式中講了女媧造人的故事。人是造出來了,世界也熱鬧了,可是低頭一看,都是清一色的類型,缺少關愛、仇…

strip 命令的使用方法

用途 通過除去綁定程序和符號調試程序使用的信息,降低擴展公共對象文件格式(XCOFF)的對象文件的大小。 語法 strip [ -V ] [ -r [ -l ] | -x [ -l ] | -t | -H | -e | -E ] [ -X {32 |64 |32_64 }] [ -- ] File ... 描…

設計模式 之 模板模式

項目源碼:https://gitee.com/Jacob-gitee/DesignMode 個人博客 :http://jacob.org.cn 女媧的失誤 工廠模式中講了女媧造人的故事。人是造出來了,世界也熱鬧了,可是低頭一看,都是清一色的類型,缺少關愛、仇…

使用Java高速實現進度條

基于有人問到如何做進度條,以下給個簡單的做法: 主要是使用JProgressBar(Swing內置javax.swing.JProgressBar)和SwingWorker(Swing內置javax.swing.SwingWorker) 有人肯定會說,不是用線程做的嗎…

Linux 安裝JDK

個人博客 :https://www.siyuan.run CSDN:https://blog.csdn.net/siyuan 微信小程序:思遠Y 安裝時使用到的命令: cd:切換目錄。 eg:cd / mkdir:創建目錄。 eg:mkdir jacob 創建單極目…

Css導航

<div> <ul> <li><a></a></li> <li><a></a></li> <li><a></a></li> .. </ul> </div> <li>中也可包含 <ul> <a></a> <li><a></a>&…

關于js的function.來自百度知道的回答,學習了.

在js中&#xff0c;創建一個函數對象的語法是var myFunction new Function(arg1,…,agrN, body);其中&#xff0c;該函數對象的N個參數放在 函數主體參數body的前面&#xff0c;即函數主體參數必須放在參數列表的最后&#xff0c;也可以無參數new Function(body)。你添加第三個…

Ribbon 支持的9大負載均衡策略

個人博客 &#xff1a;https://www.siyuan.run CSDN&#xff1a;https://blog.csdn.net/siyuan 微信小程序&#xff1a;思遠Y 線性輪詢策略&#xff1a; RoundRibbonRule BaseLoadBalancer 負載均衡器默認采用線性負載輪詢負載均衡策略。 工作流程&#xff1a; RoundRibbonRule…

fedora20開機啟動配置:systemctl

老版fedora中使用chkconfig配置開機啟動&#xff0c;fedora20中&#xff0c;使用chkconfig會出現各種問題。使用systemctl配置。 具體表格如下 轉載于:https://www.cnblogs.com/hh6plus/p/5548083.html

Mysql 字符操作函數相關

常用的字符串函數&#xff1a; 函數說明CONCAT(s1,s2&#xff0c;...)返回一個或多個待拼接的內容&#xff0c;任意一個為NULL則返回值為NULL。CONCAT_WS(x,s1,s2,...)返回多個字符串拼接之后的字符串&#xff0c;每個字符串之間有一個x。SUBSTRING(s,n,len)、MID(s,n,len)兩個…

“cvSnakeImage”: 找不到標識符

1>g:\project\opencv\helloopencv\helloopencv\helloopencv.cpp(74) : error C2065: “CV_VALUE”: 未聲明的標識符1>g:\project\opencv\helloopencv\helloopencv\helloopencv.cpp(74) : error C3861: “cvSnakeImage”: 找不到標識符 增加頭文件 #include <opencv2/l…

Shell 快速入門

個人博客 &#xff1a;https://www.siyuan.run CSDN&#xff1a;https://blog.csdn.net/siyuan 微信小程序&#xff1a;思遠Y 概述 Shell 是一個用 C 語言編寫的程序&#xff0c;它是用戶使用 Linux 的橋梁。Shell 既是一種命令語言&#xff0c;又是一種程序設計語言。 Shell…

Andriod開發 --插件安裝、環境配置、問題集錦

1.用Eclipse搭建Android開發環境和創建第一個Android項目&#xff08;Windows平臺&#xff09; 鏈接閱讀http://www.cnblogs.com/allenzheng/archive/2012/11/10/2762379.html 搭建環境中的不同之處&#xff1a; &#xff08;1&#xff09;我在安裝過程中&#xff0c;在安裝ADT…