• 大数据学习——Zookeeper集群搭建


    一、Zookeeper入门

    1.概述
    Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。
    2 .特点
    在这里插入图片描述
    1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。

    2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器。
    3)全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。
    4)更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。

    5)数据更新原子性,一次数据更新要么成功,要么失败。

    6)实时性,在一定时间范围内,Client能读到最新数据。

    3.应用场景

    提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

    二、Zookeeper单机版安装

    下载地址:https://dlcdn.apache.org/zookeeper/zookeeper-3.5.10/

    本次安装前提:Hadoop集群已搭建完成

    1.拷贝apache-zookeeper-3.5.7-bin.tar.gz安装包到Linux系统下
    在这里插入图片描述
    在这里插入图片描述
    解压到指定目录

    [hadoop@hadoop101 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    修改名称

    [hadoop@hadoop101 module]$ mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

    在这里插入图片描述
    2.配置修改

    将/opt/module/zookeeper-3.5.7/conf这个路径下的zoo_sample.cfg修改为zoo.cfg

    [hadoop@hadoop101 conf]$ vim zoo.cfg
    
    • 1

    在这里插入图片描述

    打开zoo.cfg文件,修改dataDir路径

    [hadoop@hadoop101 conf]$ vim zoo.cfg
    
    • 1

    dataDir:保存Zookeeper中的数据
    clientPort = 2181:客户端连接端口,通常不做修改。

    修改如下内容:

    dataDir=/opt/module/zookeeper-3.5.7/zkData
    
    • 1

    在这里插入图片描述
    在/opt/module/zookeeper-3.5.7/这个目录上创建zkData文件夹

    [hadoop@hadoop101 zookeeper-3.5.7]$ mkdir zkData
    
    • 1

    在这里插入图片描述

    3.操作Zookeeper

    启动Zookeeper,查看进程是否启动,查看状态

    [hadoop@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh start
    [hadoop@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh status
    [hadoop@hadoop101 zookeeper-3.5.7]$ jps
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    三、Zookeeper集群安装

    配置服务器编号

    [hadoop@hadoop101 zookeeper-3.5.7]$ cd zkData/
    [hadoop@hadoop101 zkData]$ vim myid
    
    • 1
    • 2

    在这里插入图片描述

    在这里插入图片描述
    配置zoo.cfg文件

    [hadoop@hadoop101 conf]$ vim zoo.cfg
    
    • 1

    在这里插入图片描述
    在文件中添加以下内容:

    server.1=hadoop101:2888:3888
    server.2=hadoop102:2888:3888
    server.3=hadoop103:2888:3888
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    拷贝配置好的zookeeper到其他机器上(分发脚本Hadoop阶段已写好)

    [hadoop@hadoop101 conf]$ xsync /opt/module/
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    修改其他机器的myid

    [hadoop@hadoop102 module]$ vim zookeeper-3.5.7/zkData/myid
    
    • 1

    在这里插入图片描述

    [hadoop@hadoop103 module]$ vim zookeeper-3.5.7/zkData/myid
    
    • 1

    在这里插入图片描述
    分别启动Zookeeper ,查看状态

    [hadoop@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh start
    [hadoop@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh status
    [hadoop@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh start
    [hadoop@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh status
    [hadoop@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh start
    [hadoop@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh status
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    四、Zookeeper集群启动停止脚本

    [hadoop@hadoop101 bin]$  vim /home/hadoop/bin/myzookper.sh
    
    • 1

    脚本中添加如下内容:

    #!/bin/bash
    
    case $1 in
    "start"){
            for i in hadoop101 hadoop102 hadoop103
            do
            echo ---------- zookeeper $i 启动 ------------
                    ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
            done
    };;
    "stop"){
            for i in hadoop101 hadoop102 hadoop103
            do
            echo ---------- zookeeper $i 停止 ------------    
                    ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
            done
    };;
    "status"){
            for i in hadoop101 hadoop102 hadoop103
            do
            echo ---------- zookeeper $i 状态 ------------    
                    ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
            done
    };;
    esac
    
    • 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

    在这里插入图片描述
    增加脚本执行权限

    [hadoop@hadoop101 bin]$ chmod u+x myzookper.sh
    
    • 1

    在这里插入图片描述

    群起脚本,查看状态,关闭集群

    [hadoop@hadoop101 bin]$ mv myzookper.sh myzookper
    [hadoop@hadoop101 bin]$ myzookper start
    [hadoop@hadoop101 bin]$ myzookper status
    [hadoop@hadoop101 bin]$ myzookper status
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    程序被加载到进程的哪个位置?
    10-QNX与Android双系统通讯之FDBUS(1)
    如何在 C# 程序中注入恶意 DLL?
    【Flask】Flask启程与实现一个基于Flask的最小应用程序
    2022社交电商(众城优选)最火引流拓客新思路,微三云胡佳东
    过于老旧的pytorch_ssim包 请从github下载源码
    C#:字符串的处理方法
    JS狂神说
    达人评测 i7 12800hx和i9 12900h选哪个好
    带你深入了解什么是 Java 线程池技术
  • 原文地址:https://blog.csdn.net/qq_43687583/article/details/126560820