12-Linux部署Zookeeper集群

发布于:2024-03-04 ⋅ 阅读:(106) ⋅ 点赞:(0)

Linux部署Zookeeper集群

简介

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

除了为Hadoop和HBase提供协调服务外,Zookeeper也被其它许多软件采用作为其分布式状态一致性的依赖,比如Kafka,又或者一些软件项目中,也经常能见到Zookeeper作为一致性协调服务存在。

Zookeeper不论是大数据领域亦或是其它服务器开发领域,涉及到分布式状态一致性的场景,总有它的身影存在。

Zookeeper官网:https://zookeeper.apache.org/

安装

Zookeeper是一款分布式的集群化软件,可以在多台服务器上部署,并协同组成分布式集群一起工作。

  1. 首先,要确保已经完成了集群化环境前置准备环节的全部内容

    参考文章

    11-Linux部署集群准备:http://t.csdnimg.cn/zWbnd

  2. 【node1上操作】下载Zookeeper安装包,并解压

    • 下载
    wget --no-check-certificate http://archive.apache.org/dist/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gz
    

    image-20240228142837092

    • 创建解压目录
    # 确保如下目录存在,不存在就创建
    mkdir -p /export/server
    
    • 解压
    tar -zxvf apache-zookeeper-3.8.3-bin.tar.gz -C /export/server
    
  3. 【node1上操作】创建软链接

    ln -s /export/server/apache-zookeeper-3.8.3-bin /export/server/zookeeper
    

    image-20240228143800921

  4. 【node1上操作】修改配置文件

    vim /export/server/zookeeper/conf/zoo.cfg
    

    复制以下内容到zoo.cfg

    tickTime=2000
    # zookeeper数据存储目录
    dataDir=/export/server/zookeeper/data
    clientPort=2181
    initLimit=5
    syncLimit=2
    server.1=node1:2888:3888
    server.2=node2:2888:3888
    server.3=node3:2888:3888
    
  5. 【node1上操作】配置myid

    # 1. 创建Zookeeper的数据目录
    mkdir /export/server/zookeeper/data
    
    # 2. 创建文件,并填入1
    vim /export/server/zookeeper/data/myid
    # 在文件内填入1即可
    

    image-20240228143710102

  6. 【在node2和node3上操作】,创建文件夹

    mkdir -p /export/server
    
  7. 【node1上操作】将Zookeeper 复制到node2和node3

    cd /export/server
    
    scp -r zookeeper node2:`pwd`/
    scp -r zookeeper node3:`pwd`/
    
  8. 【在node2上操作】

    • 修改myid文件
    vim /export/server/zookeeper/data/myid
    # 修改内容为2
    

    image-20240228144218931

  9. 【在node3上操作】

    • 修改myid文件
    vim /export/server/zookeeper/data/myid
    # 修改内容为3
    

    image-20240228144327703

  10. 【在node1、node2、node3上分别执行】启动Zookeeper

    /export/server/zookeeper/bin/zkServer.sh start		# 启动Zookeeper
    
  11. 【在node1、node2、node3上分别执行】检查Zookeeper进程是否启动

    jps
    
    • 结果中找到有:QuorumPeerMain 进程即可

    image-20240228144918189

  12. 【node1上操作】验证Zookeeper

    • 进入zookeeper的bin目录下,运行zkCli.sh
    cd /export/server/zookeeper/bin
    ./zkCli.sh
    

    image-20240228145233787

    • 进入到Zookeeper控制台中后,执行
    ls /
    # 如无报错即配置成功
    

    image-20240228145618133

至此Zookeeper安装完成

ZooKeeper的常用命令

ZooKeeper是一个分布式的协调服务,它提供了一些常用的命令来管理和操作ZooKeeper集群。以下是一些常用的ZooKeeper命令:

  1. create:创建一个新的ZooKeeper节点。 示例:create /path value
  2. get:获取指定路径下节点的值。 示例:get /path
  3. set:设置节点的值。 示例:set /path value
  4. delete:删除指定路径下的节点。 示例:delete /path
  5. ls:列出指定路径下的子节点。 示例:ls /path
  6. stat:获取指定路径下节点的详细信息。 示例:stat /path
  7. exists:检查指定路径下的节点是否存在。 示例:exists /path

网站公告

今日签到

点亮在社区的每一天
去签到