分布式集群搭建

结构

一共三个节点 (zk服务器集群规模不小于3个节点),要求服务器之间系统时间保持一致。

上传zk并且解压

进行解压: tar -zxvf zookeeper-3.4.6.tar.gz 重命名: mv zookeeper-3.4.6 zookeeper

修改zookeeper环境变量

vi /etc/profile
export JAVA_HOME=/usr/jdk8
export ZOOKEEPER_HOME=/usr/local/zookeeper
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin

运行以下使配置生效

source /etc/profile

修改zoo_sample.cfg文件

cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg

修改conf: vi zoo.cfg 修改两处

(1) dataDir=/usr/local/zookeeper/data(注意同时在zookeeper创建data目录) (2)最后面添加

server.0=zp:2888:3888
server.1=zp1:2888:3888
server.2=zp2:2888:3888

zp,zp1,zp2 都是在/etc/hosts下进行了ip映射

如果是单机伪分布式

1;可以填写相同ip,配置在每个配置文件中

server.0=192.168.1.111:2888:3888
server.1=192.168.1.111:2889:3889
server.2=192.168.1.111:2890:3890

2;配置不同的端口,每个配置中使用一个

clientPort=2181  #第一个zk配置中使用

clientPort=2182  #第二个zk配置中使用

clientPort=2183  #第三个zk配置中使用

3.三个物理目录

/usr/local/zookeeper
/usr/local/zookeeper01
/usr/local/zookeeper02

创建服务器标识

服务器标识配置:

  • 创建文件夹: mkdir data

  • 创建文件myid并填写内容为0: vi myid (内容为服务器标识 : 0)

复制zookeeper

进行复制zookeeper目录到zp01机器和zp02机器

并且配置zp01机器和zp02机器的/etc/profile文件

把zp01机器和zp02机器中的myid文件里的值修改为1和2,路径(vi /usr/local/zookeeper/data/myid)

启动zookeeper

  • 启动zookeeper:

  • 路径: /usr/local/zookeeper/bin

  • 执行: zkServer.sh start

  • 查看状态: zkServer.sh

(注意这里3台机器都要进行启动) status(在三个节点上检验zk的mode,一个leader和俩个follower)

常用命令

zkServer.sh start 启动服务

zkServer.sh status 查询状态

zkServer.sh stop 停止服务

Last updated