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
启动成功。