確保Debian系統滿足Zookeeper運行的基本要求:
sudo apt update && sudo apt install openjdk-11-jdk -y
java -version # 確認輸出版本≥11
sudo apt update && sudo apt upgrade -y
根據需求選擇需測試的Zookeeper版本(如3.4.x、3.5.x、3.7.x),優先參考Debian官方倉庫或Apache官方發布的穩定版本。若倉庫版本過舊,可通過以下方式獲取指定版本:
apache-zookeeper-3.7.0-bin.tar.gz
);sudo apt install zookeeper=<version>
安裝(需提前添加對應源)。/opt
(或其他非root目錄),并創建軟鏈接便于管理:wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzf apache-zookeeper-3.7.0-bin.tar.gz -C /opt
ln -s /opt/apache-zookeeper-3.7.0-bin /opt/zookeeper
dataDir
、clientPort
、集群節點信息):cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg
nano /opt/zookeeper/conf/zoo.cfg
示例配置(單機模式):tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
dataDir
目錄下創建myid
,寫入節點ID(如節點1寫1
):mkdir -p /var/lib/zookeeper
echo "1" > /var/lib/zookeeper/myid
bin
目錄,執行啟動腳本:/opt/zookeeper/bin/zkServer.sh start
/opt/zookeeper/bin/zkServer.sh status
/opt/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
輸入ls /
命令,若返回空列表則表示連接成功。針對不同版本的特性,設計以下測試用例:
create /test "data"
、delete /test
);get /test
、set /test "new_data"
);watch /test
);zoo.cfg
添加節點,重啟服務);dynamicConfigFile
);/opt/zookeeper/logs/zookeeper.out
,使用tail
命令實時監控:tail -f /opt/zookeeper/logs/zookeeper.out
sudo netstat -tulnp | grep 2181
檢查端口占用,修改zoo.cfg
中的clientPort
;sudo apt remove openjdk-8-jdk
),重新安裝指定版本;zoo.cfg
中的server.X
格式(如server.1 node1:2888:3888
),確保myid
文件與配置一致。若需測試多個版本,可通過以下方式實現:
/opt/zookeeper-3.4.14
、/opt/zookeeper-3.7.0
);PATH
變量切換默認版本,或在啟動腳本中指定完整路徑(如/opt/zookeeper-3.4.14/bin/zkServer.sh
);clientPort
(如3.4.x用2181,3.7.0用2182),避免端口沖突。通過以上步驟,可在Debian系統上完成Zookeeper不同版本的兼容性測試,確保版本與系統環境、依賴組件及業務需求匹配。測試過程中需詳細記錄日志與結果,便于后續問題定位與版本選擇。