本文主要讲解下一台服务器如何部署ZooKeeper服务。
# 前言
ZooKeeper是一个高性能的分布式一致系统,在分布式系统中有着广泛的应用。今天简单介绍下如何搭建最简单的ZooKeeper集群。
# 下载地址
官网下载地址:https://zookeeper.apache.org/releases.html#download
这里以zookeeper-3.4.10版本为例,在同一个服务器下部署。
# 部署
# 配置JAVA环境
- 官网下载
地址: https://www.oracle.com/java/technologies/javase-downloads.html
这里我以JDK1.8为例
- 解压
$ tar zxf jdk-8u251-linux-x64.tar.gz
1
- 配置环境变量
这里我解压后放到家目录下的3rd目录,如果是其他目录,请根据实际修改。
$ vim ~/.bash_profile
export JAVA_HOME=$HOME/3rd/jdk1.8.0_251
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
1
2
3
4
5
6
7
2
3
4
5
6
7
- 生效环境变量
$ source ~/.bash_profile
1
# 验证环境变量是否生效
$ which java
~/3rd/jdk1.8.0_171/bin/java
1
2
2
# 解压后复制为三个文件夹
zk-3.4.10-kafka-5001
zk-3.4.10-kafka-5002
zk-3.4.10-kafka-5003
1
2
3
2
3
# 创建数据文件夹
$ mkdir -p /opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata1/snapshot/
$ mkdir -p /opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata1/log/
$ mkdir -p /opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata2/snapshot/
$ mkdir -p /opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata2/log/
$ mkdir -p /opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata3/snapshot/
$ mkdir -p /opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata3/log/
1
2
3
4
5
6
2
3
4
5
6
# 配置文件分别修改(只列出必须修改的地方)
1.节点1 配置文件
注意server.1
,server.2
,server.3
里面的端口需要跟clientPort
端口不一样,只要端口不被占用即可,一般可以分别加100。
$ vi zk-3.4.10-kafka-5001/conf/zoo.cfg
# example sakes.
dataDir=/opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata1/snapshot/
# the port at which the clients will connect
clientPort=5001
#事务日志指向内存文件系统
dataLogDir=/opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata1/log/
server.1=10.10.10.10:5101:5201
server.2=10.10.10.10:5102:5202
server.3=10.10.10.10:5103:5203
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
2.节点2 配置文件
$ vi zk-3.4.10-kafka-5002/conf/zoo.cfg
# example sakes.
dataDir=/opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata2/snapshot/
# the port at which the clients will connect
clientPort=5002
#事务日志指向内存文件系统
dataLogDir=/opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata2/log/
server.1=10.10.10.10:5101:5201
server.2=10.10.10.10:5102:5202
server.3=10.10.10.10:5103:5203
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
3.节点3配置文件
$ vi zk-3.4.10-kafka-5003/conf/zoo.cfg
# example sakes.
dataDir=/opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata3/snapshot/
# the port at which the clients will connect
clientPort=5003
#事务日志指向内存文件系统
dataLogDir=/opt/jaysonzhang/3rd/zookeeper/zkdata/zkdata3/log/
server.1=10.10.10.10:5101:5201
server.2=10.10.10.10:5102:5202
server.3=10.10.10.10:5103:5203
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 启动
$ cd zk-3.4.10-kafka-5001/bin/;sh zkServer.sh start
$ cd -;
$ cd zk-3.4.10-kafka-5002/bin/;sh zkServer.sh start
$ cd -;
$ cd zk-3.4.10-kafka-5003/bin/;sh zkServer.sh start
1
2
3
4
5
2
3
4
5
这样,ZooKeeper搭建完毕,开始玩起来吧。
是不是很简单?相信你学会了。
欢迎关注我的公众号testerzhang,原创技术文章第一时间推送。