• 安装ZooKeeper集群


    安装ZooKeeper集群

    1 软件环境

    注:我的Hadoop环境已经安装完成。

    1.1 版本选择

    版本的兼容问题很重要!!

    软件环境版本号备注
    CentOS77.6
    JDK1.8.0
    Hadoop3.1.3hadoop-3.1.3.tar.gz
    ZooKeeper3.6.3apache-zookeeper-3.6.3-bin.tar.gz
    HBase2.4.15hbase-2.4.15-bin.tar.gz
    Hive3.1.2apache-hive-3.1.2-bin.tar.gz

    1.2 软件下载

    # Hadoop下载地址
    https://hadoop.apache.org/release.html
    # 下载hadoop-3.1.3.tar.gz
    https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
    
    
    # ZooKeeper下载地址
    https://zookeeper.apache.org/releases.html
    # 下载apache-zookeeper-3.6.3-bin.tar.gz
    https://dlcdn.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
    
    
    # HBase下载地址
    https://hbase.apache.org/downloads.html
    # 下载hbase-2.4.15-bin.tar.gz
    https://dlcdn.apache.org/hbase/2.4.15/hbase-2.4.15-bin.tar.gz
    
    
    # Hive下载地址
    https://hive.apache.org/downloads.html
    # 下载apache-hive-3.1.2-bin.tar.gz
    https://dlcdn.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    1.3 Hadoop集群环境

    主机名HDFSYARNIP地址说明
    hadoop0DataNode、NameNodeNodeManager192.168.108.10主节点(master)
    hadoop1DataNodeNodeManager、ResourceManager192.168.108.11子节点
    hadoop2DataNode、Secondary NameNodeNodeManager192.168.108.12子节点

    2 安装ZooKeeper

    2.1 ZooKeeper集群

    安装目录是/opt/

    主机名ZooKeeperid信息HDFSIP地址说明
    hadoop0ZooKeeper1DataNode、NameNode192.168.108.10主节点(master)
    hadoop1ZooKeeper2DataNode192.168.108.11子节点
    hadoop2ZooKeeper3DataNode、Secondary NameNode192.168.108.12子节点

    2.2 在主节点安装

    (1) 解压文件

    # 先将apache-zookeeper-3.6.3-bin.tar.gz复制到/opt目录下
    # 进入安装目录
    cd /opt
    
    # 解压文件
    tar -xzvf apache-zookeeper-3.6.3-bin.tar.gz
    
    # 重命名文件
    mv apache-zookeeper-3.6.3-bin zookeeper-3.6.3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    (2)配置文件

    # 配置id
    cd zookeeper-3.6.3
    
    # 创建文件
    mkdir zkdata
    
    # 进入zkdata目录
    cd zkdata
    
    # 创建文件
    touch myid
    
    # 编辑myid文件
    # 集群对应的编号:hadoop0->1;hadoop1->2;hadoop2->3
    vim myid
    
    # 重命名zoo_sample.cfg文件为zoo.cfg
    # 进入“/opt/zookeeper-3.6.3/conf”目录
    cd /opt/zookeeper-3.6.3/conf
    
    # 重命名zoo_sample.cfg
    mv zoo_sample.cfg zoo.cfg
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    修改zoo.cfg文件,修改内容如下

    注:其他内容不需要修改

    # 修改参数dataDir
    dataDir=/opt/zookeeper-3.6.3/zkdata
    # the port at which the clients will connect
    clientPort=2181
    # 添加以下内容,可以用主机名代替IP地址
    server.1=192.168.108.10:2888:3888
    server.2=192.168.108.11:2888:3888
    server.3=192.168.108.12:2888:3888
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.3 复制主节点ZooKeeper到子节点

    # 复制文件
    scp -r /opt/zookeeper-3.6.3 root@hadoop1:/opt/
    scp -r /opt/zookeeper-3.6.3 root@hadoop2:/opt/
    
    # 记得修改myid的编号
    cd /opt/zookeeper-3.6.3/zkdata
    vim myid
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.4 启动节点

    (1)配置用户环境变量

    注:根据自己的情况,可以不配置用户环境变量

    # 编辑".bash_profile"文件,在用户的home目录下
    # 注意:"~/.bash_profile"是用户的环境变量;"/etc/profile"是系统的环境变量;都可以实现在系统中启动应用
    vim ~/.bash_profile
    
    # 添加以下内容
    ZOOKEEPER_HOME=/opt/zookeeper-3.6.3
    PATH=$PATH:$ZOOKEEPER_HOME/bin
    export PATH
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    # 使用户环境变量生效
    source ~/.bash_profile
    
    # 在3个节点中分别启动ZooKeeper,即每个节点上都需要执行下面的命令
    zkServer.sh start
    
    # 查看ZooKeeper的状态,如果Mode是follower表明分布式安装成功,如果是standalone表明单主机安装
    zkServer.sh status
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    # 停止ZooKeeper
    zkServer.sh stop
    
    # 重启ZooKeeper
    zkServer.sh restart
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3 使用ZooKeeper集群

    3.1 连接集群

    # zkCli.sh -server IP:端口号
    zkCli.sh -server 192.168.108.10:2181
    
    # 进入后会显示如下
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    3.2 常用命令

    注意:ZooKeeper的命令类似于Linux命令

    # (1)使用help,可以查看常用命令
    help
    
    
    # (2)查看节点列表
    ls /
    # 返回值ZooKeeper根目录下所有znode节点
    [zookeeper]
    
    # 查看zooKeeper目录下的文件
    ls /zookeeper
    
    
    # (3)创建节点
    # create [-s] [-e] path data acl
    # -s:设置节点为持久节点;-e:设置节点为临时节点(临时节点在会话关闭后自动删除);
    # acl:设置权限控制
    # 默认创建持久节点
    create /myzk "myzkdata"
    # 查看新创建的根节点
    ls /
    # 返回结果
    [myzk, zookeeper]
    
    # 在myzk节点下创建二级节点
    create /myzk/node1 "myzknode1"
    # 查看新创建的二级节点
    ls /myzk
    # 返回值
    [node1]
    
    # 创建临时节点
    create -e /myzk/node2 "myzknode2"
    
    
    # (4)查看节点详情
    get /myzk
    # 返回值
    myzkdata
    
    
    # (5)修改节点数据
    set /myzk {name:"Mason",age:20}
    
    
    # (6)删除节点
    # 先删除二级节点
    delete /myzk/node1
    
    # 再删除根节点
    delete /myzk
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
  • 相关阅读:
    Python 潮流周刊#57:Python 该采用日历版本吗?
    从零打造“乞丐版” React(一)——从命令式编程到声明式编程
    搭建gataway鉴权流程
    CrossOver2023虚拟机软件安装双系统教程
    ES Elasticsearch
    python爬虫学习-------scrapy的第一部分(二十九天)
    哈工大李治军老师操作系统笔记【12】:CPU调度策略(Learning OS Concepts By Coding Them !)
    风尚云网学习-前端页面敏感数据脱敏星号展示
    线上 hive on spark 作业执行超时问题排查案例分享
    【Spring MVC】注册Spring MVC中的特殊组件bean
  • 原文地址:https://blog.csdn.net/make_progress/article/details/127639611