02、安装 zookeeper(单机/集群)

安装 zookeeper

  • 1.在Linux中安装单机版
  • 1.1安装 JDK
  • 1.2上传 Zookeeper
  • 1.3解压 Zookeeper 压缩包
  • 1.4Zookeeper 目录结构
  • 1.5配置 Zookeeper
  • 1.6启动 Zookeeper
  • 1.7停止 Zookeeper
  • 1.8查看 Zookeeper 状态
  • 1.9使用客户端连接单机版 Zookeeper
  • 2.在Linux中安装集群版
  • 2.1Zookeeper 集群中的角色
  • 2.2集群安装
  • 2.3提供数据缓存目录
  • 2.4复制应用
  • 2.5提供配置文件
  • 2.6修改配置文件 zoo.cfg - 设置数据缓存路径
  • 2.7提供应用唯一标识
  • 2.8修改配置文件 zoo.cfg - 设置监听客户端、投票、选举端口
  • 2.9编写启动、关闭集群脚本
  • 2.10连接集群

1.在Linux中安装单机版

1.1安装 JDK

//配置环境变量
export JAVA_HOME=/usr/local/jdk 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export PATH=$JAVA_HOME/bin:$PATH

1.2上传 Zookeeper

1.3解压 Zookeeper 压缩包

[root@localhost temp]# tar -xzvf apache-zookeeper-3.6.0-bin.tar.gz 
[root@localhost temp]# cp zookeeper-3.6.0 /usr/local/zookeeper -r

1.4Zookeeper 目录结构

  • bin:放置运行脚本和工具脚本
  • conf:zookeeper 默认读取配置的目录,里面会有默认的配置文件
  • docs:zookeeper 相关的文档
  • ib:zookeeper 核心的 jar
  • logs:zookeeper 日志

1.5配置 Zookeeper

  • Zookeeper 在启动时默认的去 conf 目录下查找一个名称为 zoo.cfg 的配置文件
  • 在 zookeeper 应用目录中有子目录 conf。其中有配置文件模板:zoo_sample.cfg
  • cp zoo_sample.cfg zoo.cfg。zookeeper 应用中的配置文件为 conf/zoo.cfg
  • 修改配置文件 zoo.cfg - 设置数据缓存路径
     

1.6启动 Zookeeper

  • 默认加载配置文件:./zkServer.sh start:默认的会去 conf 目录下加载 zoo.cfg 配置文件。(在bin目录下)
  • 指定加载配置文件:./zkServer.sh start 配置文件的路径。(在bin目录下)
     

1.7停止 Zookeeper

  • ./zkServer.sh stop
     

1.8查看 Zookeeper 状态

  • ./zkServer.sh status
     

1.9使用客户端连接单机版 Zookeeper

  • 连接方式一:
    bin/zkCli.sh
    默认连接地址为本机地址,默认连接端口为 2181
     
     
  • 出现这个就证明连接上了(crtl+c退出连接)
  • 连接方式二:
    bin/zkCli.sh -server ip:port
    连接指定 IP 地址与端口

2.在Linux中安装集群版

2.1Zookeeper 集群中的角色

  • Zookeeper 集群中的角色主要有以下三类
     

2.2集群安装

  • 使用 3 个 Zookeeper 应用搭建一个伪集群。应用部署位置是:192.168.233.130。
  • 客户端监听端口分别为:2181、2182、2183。
  • 投票选举端口分别为 2881/3881、2882/3882、2883/3883。
  • 首先和单机版一样先解压文件
    tar -zxf zookeeper-3.6.0.tar.gz
  • 将解压后的 Zookeeper 应用目录重命名,便于管理
  • mv zookeeper-3.6.0 zookeeper01
     

2.3提供数据缓存目录

  • 在 zookeeper01 应用目录中,创建 data 目录,用于缓存应用运行数据
  • cd zookeeper01
  • mkdir data
     

2.4复制应用

  • 复制两份 Zookeeper 应用。用于模拟集群中的 3 个节点
  • cp -r zookeeper01 zookeeper02
  • cp -r zookeeper01 zookeeper03
     

2.5提供配置文件

  • 在 zookeeper 应用目录中有子目录 conf。其中有配置文件模板:zoo_sample.cfg
  • cp zoo_sample.cfg zoo.cfg
  • zookeeper 应用中的配置文件为 conf/zoo.cfg

2.6修改配置文件 zoo.cfg - 设置数据缓存路径

  • dataDir 参数值为应用运行缓存数据保存目录。(每一个都要设置)
     

2.7提供应用唯一标识

  • 在 Zookeeper 集群中,每个节点 需要一个唯一标识。这个唯一标识要求是自然数。且唯一标识保存位置是:数据缓存目录(dataDir=/usr/local/zookeeper/data)的 myid 文件中。其中“数据缓存目录”为配置文件 zoo.cfg 中的配置参数
  • 在 data 目录中创建文件 myid : touch myid
  • 为应用提供唯一标识。本环境中使用 1、2、3 作为每个节点的唯一标识。
  • vi myid
  • 简化方式为: echo [唯一标识] >> myid。 echo 命令为回声命令,系统会将命令发送的数据返回。 '>>'为定位,代表系统回声数据指定发送到什么位置。 此命令代表系统回声数据发送到 myid 文件中。 如果没有文件则创建文件。
     

2.8修改配置文件 zoo.cfg - 设置监听客户端、投票、选举端口

  • vim zoo.cfg
  • 服务端口根据应用做对应修改,zk01-2181,zk02-2182,zk03-2183
     

2.9编写启动、关闭集群脚本

  • 使用 vim 文件名.sh 创建文件
  • 在 Linux 中可以使用 chmod 命令为文件授权
  • chmod 777 文件名
  • 777 表示为文件分配可读,可写,可执行权限。

  • 启动 Zookeeper 集群脚本
zookeeper01/bin/zkServer.sh start 
zookeeper02/bin/zkServer.sh start 
zookeeper03/bin/zkServer.sh start

 

  • 关闭 Zookeeper 集群脚本
zookeeper01/bin/zkServer.sh stop
zookeeper02/bin/zkServer.sh stop 
zookeeper03/bin/zkServer.sh stop

2.10连接集群

  • 可以使用任何节点中的客户端工具连接集群中的任何节点。
  • ./zkCli.sh -server 192.168.0.110:2183