在centos系統(tǒng)上部署zookeeper,步驟如下:
一、安裝Java環(huán)境
zookeeper依賴Java運(yùn)行環(huán)境。使用以下命令安裝OpenJDK 8:
sudo yum install java-1.8.0-openjdk-devel
二、下載并解壓ZooKeeper
從apache ZooKeeper官方網(wǎng)站下載ZooKeeper發(fā)行包(例如zookeeper-3.5.9-bin.tar.gz),并解壓到指定目錄(例如/usr/local/):
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /usr/local/
三、配置ZooKeeper
進(jìn)入解壓后的ZooKeeper目錄,復(fù)制并修改zoo_sample.cfg配置文件為zoo.cfg。關(guān)鍵配置項(xiàng)包括:
- dataDir:ZooKeeper數(shù)據(jù)存儲(chǔ)目錄。
- clientPort:客戶端連接端口(默認(rèn)2181)。
- tickTime:ZooKeeper基本時(shí)間單位(毫秒)。
- initLimit:初始連接超時(shí)時(shí)間(單位為tickTime)。
- syncLimit:同步連接超時(shí)時(shí)間(單位為tickTime)。
示例zoo.cfg配置:
tickTime=2000 dataDir=/usr/local/zookeeper-3.5.9/data clientPort=2181 initLimit=10 syncLimit=5
四、創(chuàng)建myid文件
在每個(gè)ZooKeeper服務(wù)器的dataDir目錄下,創(chuàng)建名為myid的文件,文件內(nèi)容為該服務(wù)器的ID(例如,對(duì)于集群中的第一臺(tái)服務(wù)器,myid文件內(nèi)容為1)。
echo "1" > /usr/local/zookeeper-3.5.9/data/myid
五、設(shè)置環(huán)境變量
編輯/etc/profile文件,添加ZooKeeper環(huán)境變量:
vi /etc/profile
添加以下內(nèi)容:
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.5.9 export PATH=$PATH:$ZOOKEEPER_HOME/bin
使配置生效:
source /etc/profile
六、配置系統(tǒng)服務(wù)
創(chuàng)建ZooKeeper系統(tǒng)服務(wù)文件/etc/systemd/system/zookeeper.service:
vi /etc/systemd/system/zookeeper.service
添加以下內(nèi)容(注意調(diào)整JAVA_HOME路徑):
[Unit] Description=Apache Zookeeper After=network.target [Service] Type=forking ExecStart=/usr/local/zookeeper-3.5.9/bin/zkServer.sh start ExecStop=/usr/local/zookeeper-3.5.9/bin/zkServer.sh stop PrivateTmp=true Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.202.b08-2.el7.x86_64 User=zookeeper # 建議使用專用用戶 Group=zookeeper # 建議使用專用用戶 PIDFile=/usr/local/zookeeper-3.5.9/data/zookeeper.pid Restart=always [Install] WantedBy=multi-user.target
啟用并啟動(dòng)ZooKeeper服務(wù):
sudo systemctl daemon-reload sudo systemctl enable zookeeper sudo systemctl start zookeeper
七、驗(yàn)證安裝
使用以下命令檢查ZooKeeper狀態(tài):
/usr/local/zookeeper-3.5.9/bin/zkServer.sh status
如果ZooKeeper成功啟動(dòng),則表示安裝配置成功。 建議使用netstat -anp | grep 2181命令確認(rèn)2181端口是否監(jiān)聽。 對(duì)于集群環(huán)境,需要在每臺(tái)服務(wù)器上重復(fù)以上步驟,并確保每個(gè)服務(wù)器的myid值唯一。 最后,可以使用客戶端工具連接ZooKeeper集群進(jìn)行測(cè)試。
注意: 建議創(chuàng)建專用用戶zookeeper并賦予其必要的權(quán)限,以提高安全性。 JAVA_HOME路徑請(qǐng)根據(jù)實(shí)際安裝情況修改。 以上步驟基于ZooKeeper 3.5.9版本,其他版本可能略有差異,請(qǐng)參考官方文檔。