1.引言
在前面博客中介绍了Zookeeper
的Standalone
模式的安装,在本篇博客中主要介绍一下Zookeeper
的伪分布安装。什么叫做伪分布?简单的来说:伪分布就是在一台电脑上启动多个zookeeper
实例。zookeeper
的部署必须是奇数(很重要!!!)个节点,在本篇博客中就在自己电脑上启动三个zookeeper
实例。
博主的环境为:
- 操作系统为
Centos6.7
zookeeper
版本为3.4.9
JDK
的版本为1.7
zookeeper
的安装地址为/usr/local/zookeeper
- 安装软件的用户为root用户
2.安装JDK环境
由于zookeeper
的运行必须依赖于jdk
,所以在安装zookeeper
之前必须先安装jdk
,如何Centos6.7
的操作系统中安装JDK
环境,请参考博文: Linux安装Java JDK
3. zookeeper的伪分布安装
3.1 解压缩zookeeper,并改名
// 将zookeeper解压到/usr/local目录下面
tar -zxvf zookeeper-3.4.9.tar.gz -C /usr/local/
// 进入/usr/local目录
cd /usr/local
// 将文件修改为zookeeper
mv zookeeper-3.4.9 zookeeper
3.2 创建zoo1.cfg配置文件,并修改内容(conf/zoo_sample.cfg)
//将zoo_sample.cfg改名为zoo1.cfg
cp conf/zoo_sample.cfg conf/zoo1.cfg
//编辑zoo1的内容
vim conf/zoo1.cfg
//zoo1.cfg的内容:
dataDir=/usr/local/zookeeper/zoo1/data
clientPort=2181
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
3.3 创建zoo2.cfg配置文件,并修改内容(conf/zoo_sample.cfg)
//将zoo_sample.cfg改名为zoo2.cfg
cp conf/zoo_sample.cfg conf/zoo2.cfg
//编辑zoo2的内容
vim conf/zoo2.cfg
//zoo2.cfg的内容:
dataDir=/usr/local/zookeeper/zoo2/data
clientPort=2182
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
3.4 创建zoo3.cfg配置文件,并修改内容(conf/zoo_sample.cfg)
//将zoo_sample.cfg改名为zoo3.cfg
cp conf/zoo_sample.cfg conf/zoo3.cfg
//编辑zoo3的内容
vim conf/zoo3.cfg
//zoo3.cfg的内容:
dataDir=/usr/local/zookeeper/zoo3/data
clientPort=2183
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
3.5 执行命令,产生存储数据的目录
//产生zoo1数据目录
mkdir -p /usr/local/zookeeper/zoo1/data
//产生zoo2数据目录
mkdir -p /usr/local/zookeeper/zoo2/data
//产生zoo3数据目录
mkdir -p /usr/local/zookeeper/zoo3/data
3.6 产生标记文件
//标记伪分布的第一个节点,和配置文件的server.1对应
echo '1'>/usr/local/zookeeper/zoo1/data/myid
//标记伪分布的第一个节点,和配置文件的server.2对应
echo '2'>/usr/local/zookeeper/zoo2/data/myid
//标记伪分布的第一个节点,和配置文件的server.3对应
echo '3'>/usr/local/zookeeper/zoo3/data/myid
3.7 启动三个节点
// 启动zoo1实例
bin/zkServer.sh start conf/zoo1.cfg
// 启动zoo2实例
bin/zkServer.sh start conf/zoo2.cfg
// 启动zoo2实例
bin/zkServer.sh start conf/zoo3.cfg
3.8 查看进程是否启动成功
- 执行
jps
命令查看,出现如下进程便启动成功(三个QuorumPeerMain
)