centos系統(tǒng)下apache zookeeper的安裝與配置詳解
本文詳細介紹如何在centos系統(tǒng)上配置apache zookeeper,涵蓋Java環(huán)境安裝、ZooKeeper下載與解壓、配置、開機啟動以及安全配置等方面。
一、準備工作
-
安裝Java環(huán)境: ZooKeeper依賴Java運行環(huán)境(JRE)或Java開發(fā)工具包(JDK)。推薦安裝OpenJDK 8或更高版本:
sudo yum install java-1.8.0-openjdk-devel
-
下載并解壓ZooKeeper: 從Apache ZooKeeper官網(wǎng)下載所需版本,例如zookeeper-3.4.14,并解壓到指定目錄(例如/usr/local/):
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/
二、ZooKeeper配置
-
修改配置文件: 進入解壓后的ZooKeeper目錄,復制并修改zoo_sample.cfg為zoo.cfg。關(guān)鍵配置項包括dataDir(數(shù)據(jù)目錄)、clientPort(客戶端連接端口)等。
cd /usr/local/zookeeper cp conf/zoo_sample.cfg conf/zoo.cfg vi conf/zoo.cfg
示例配置:
tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 server.1=192.168.0.11:2888:3888 server.2=192.168.0.12:2888:3888 server.3=192.168.0.13:2888:3888
-
集群節(jié)點配置: 若配置集群,需設置server.N屬性,N為節(jié)點編號。
-
創(chuàng)建myid文件: 在dataDir目錄下為每個節(jié)點創(chuàng)建myid文件,文件內(nèi)容為節(jié)點編號(例如,節(jié)點1的myid文件內(nèi)容為1)。
cd /var/lib/zookeeper vi myid # 在每個節(jié)點上執(zhí)行,myid內(nèi)容為該節(jié)點編號
三、設置開機啟動
創(chuàng)建并編輯zookeeper.service文件,實現(xiàn)ZooKeeper服務開機自啟動:
[Unit] Description=ZooKeeper Service After=network.target [Service] Type=forking ExecStart=/usr/local/zookeeper/bin/zkServer.sh start ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop PrivateTmp=true Environment=JAVA_HOME=/usr/local/java/jdk1.8.0_202 # 請?zhí)鎿Q為您的JAVA_HOME路徑 User=zookeeper # 建議使用專用用戶 Group=zookeeper # 建議使用專用用戶組 PIDFile=/var/run/zookeeper/zookeeper.pid Restart=always [Install] WantedBy=multi-user.target
將該文件復制到/etc/systemd/system/目錄下,并執(zhí)行以下命令:
sudo systemctl enable zookeeper.service sudo systemctl start zookeeper.service sudo systemctl status zookeeper.service
四、啟動與驗證
使用以下命令啟動ZooKeeper并檢查狀態(tài):
/usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/bin/zkServer.sh status
五、安全增強配置 (生產(chǎn)環(huán)境建議)
- SASL身份驗證: 配置ZooKeeper使用SASL進行身份驗證,增強安全性。
- ACL訪問控制: 配置訪問控制列表(ACL)來限制對特定節(jié)點的訪問權(quán)限。
- ssl/TLS加密: 使用SSL/TLS加密客戶端與服務器之間的通信。
- 限制客戶端連接數(shù): 避免資源耗盡和性能下降。
- 監(jiān)控與審計: 實施監(jiān)控和審計策略,跟蹤ZooKeeper資源訪問和操作。
注意: 以上步驟和配置僅供參考,生產(chǎn)環(huán)境中需要根據(jù)實際需求進行調(diào)整和優(yōu)化,例如用戶權(quán)限的設置,以及更細致的安全策略配置。 請確保/var/lib/zookeeper目錄存在且ZooKeeper用戶擁有相應的權(quán)限。 JAVA_HOME路徑請根據(jù)實際安裝情況修改。 建議使用專用用戶和用戶組運行ZooKeeper服務,提高安全性。