ubuntu(單機僞分佈式)安裝zookeeper-3.4.x詳細教程(服務器亦適用)
系統環境:(阿里雲服務器)ubuntu18.04
首先下載zookeeper鏡像,以zookeeper-3.4.14爲例
$ wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
解壓:
$ sudo tar -zxvf zookeeper-3.4.14.tar.gz -C /usr
修改環境變量:
$ vim ~/.bashrc
# 添加以下內容
export ZOOKEEPER_HOME=/usr/zookeeper-3.4.14
export PATH=${ZOOKEEPER_HOME}/bin:$PATH
# 保存退出
# 使配置生效
$ source ~/.bashrc
修改zoo.cfg配置文件:
$ cp zoo_sample.cfg zoo.cfg
$ vim zoo.cfg
# 修改zookeeper數據存儲位置
dataDir=/usr/zookeeper-3.4.14/zkData
# 添加以下內容
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2887:3887
# server.X=A:B:C
# 其中X是一個數字, 表示這是第幾號server
# A是該server所在的IP地址
# B配置該server和集羣中的leader交換消息所使用的端口
# C配置選舉leader時所使用的端口
# 說明:在僞分佈式下, 各個server的B, C參數必須不同
將zoo.cfg複製兩份,並修改dataDir和進程佔用端口:
$ cp zoo.cfg zoo2.cfg
$ cp zoo.cfg zoo3.cfg
#在 zoo2.cfg 中:
dataDir=/usr/zookeeper-3.4.14/zkData2
clientPort=2182
#在 zoo3.cfg 中:
dataDir=/usr/zookeeper-3.4.14/zkData3
clientPort=2183
新建zkData及zkData2,zkData3文件夾
在zkData中新建myid文件並寫入 1 :
$ vim myid
1
分別在zkData2和zkData3中新建myid文件並分別寫入2和3;
默認日誌文件保存在工作目錄“ . ”下,可修改到固定目錄:
$ vim zkEnv.sh
修改前:
ZOO_LOG_DIR="."
修改後:
ZOO_LOG_DIR="/usr/zookeeper-3.4.14/logs"
zk安裝完畢。
首先啓動hadoop:
$ start-all.sh
# 查看運行情況
$ jps
27809 DataNode
28503 NodeManager
27995 SecondaryNameNode
28540 Jps
27676 NameNode
28191 ResourceManager
啓動zk:
$ zkServer.sh start zoo.cfg
$ zkServer.sh start zoo2.cfg
$ zkServer.sh start zoo3.cfg
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
查看進程:
$ jps
25187 QuorumPeerMain
25157 QuorumPeerMain
27809 DataNode
28503 NodeManager
27995 SecondaryNameNode
25239 QuorumPeerMain
28540 Jps
27676 NameNode
28191 ResourceManager
啓動成功。