在Ubuntu上安裝和配置Apache ZooKeeper時,遵循以下最佳實踐可以幫助確保系統的穩定性、安全性和性能:
安裝Java環境:
sudo apt update
sudo apt install openjdk-11-jdk -y
java -version
創建專用用戶:
sudo useradd zookeeper -m -s /bin/bash
sudo passwd zookeeper
創建數據目錄:
sudo mkdir -p /var/lib/zookeeper
sudo chown -R zookeeper:zookeeper /var/lib/zookeeper
下載并解壓Zookeeper:
wget https://downloads.apache.org/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gz
tar -xzvf apache-zookeeper-3.8.3-bin.tar.gz
sudo mv apache-zookeeper-3.8.3 /opt/zookeeper
配置Zookeeper:
zoo_sample.cfg為zoo.cfg,并編輯其中的配置項。sudo cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg
sudo nano /opt/zookeeper/conf/zoo.cfg
tickTime=2000
dataDir=/var/lib/zookeeper
dataLogDir=/var/lib/zookeeper/log
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.2:2888:3888
server.3=127.0.0.3:2888:3888
創建myid文件:
/var/lib/zookeeper目錄下創建一個名為myid的文件,并寫入對應的服務器編號。echo "1" > /var/lib/zookeeper/myid
創建systemd服務文件:
sudo nano /etc/systemd/system/zookeeper.service
[Unit]
Description=Apache Zookeeper
Documentation=https://zookeeper.apache.org/doc/current/
Requires=network.target
After=network.target
[Service]
Type=forking
User=zookeeper
Group=zookeeper
WorkingDirectory=/opt/zookeeper
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
ExecReload=/opt/zookeeper/bin/zkServer.sh reload
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
啟動并啟用Zookeeper服務:
sudo systemctl daemon-reload
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
配置優化:
tickTime、initLimit、syncLimit等。監控與日志管理:
集群配置:
myid文件內容需唯一。使用ZKUI進行監控(可選):
cd /var/lib/zookeeper/bin
wget https://github.com/DeemOpen/zkui/releases/download/v2.0/zkui-2.0.zip
unzip zkui-2.0.zip
sudo bash zkui-2.0.zip
通過以上步驟,您可以在Ubuntu上成功安裝和配置Zookeeper,并確保其高性能和高可用性。這些最佳實踐涵蓋了從安裝前準備到性能優化的各個方面,希望能幫助您更好地部署和管理Zookeeper集群。