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

2023-11-02

一、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/

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

修改名称

[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

在这里插入图片描述

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

[hadoop@hadoop101 conf]$ vim zoo.cfg

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

修改如下内容:

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

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

[hadoop@hadoop101 zookeeper-3.5.7]$ mkdir zkData

在这里插入图片描述

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

在这里插入图片描述

三、Zookeeper集群安装

配置服务器编号

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

在这里插入图片描述

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

[hadoop@hadoop101 conf]$ vim zoo.cfg

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

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

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

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

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述
分别启动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

在这里插入图片描述

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

四、Zookeeper集群启动停止脚本

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

脚本中添加如下内容:

#!/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

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

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

在这里插入图片描述

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

[hadoop@hadoop101 bin]$ mv myzookper.sh myzookper
[hadoop@hadoop101 bin]$ myzookper start
[hadoop@hadoop101 bin]$ myzookper status
[hadoop@hadoop101 bin]$ myzookper status

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大数据学习——Zookeeper集群搭建 的相关文章

随机推荐

  • MySQL left join 和 left outer join 区别

    先说结论 left join 和 left outer join 的结果是一致的 我不知道各位大神是怎么测试的 网上面就说两个不一样 我A B表都是有重复数据的 为啥结果是一样的 表A 表B 左连接 SELECT ta tb Result
  • c++之 vector 容器

    1 vector存放内置数据类型 特点 是一种单端数组 可以动态扩展 动态扩展 不是在原有空间后边续接新的空间 而是寻找更大的内存 将原数据拷贝到新的空间 然后释放原空间 include
  • 利用git 将本地项目上传到github上

    利用git 将本地项目上传到github上 在github上创建仓库后 也链接了ssh 在本地项目的文件夹下git bash here然后 git init 项目初始化 git add 将项目加入本地暂存区 git commit m 项目注
  • Hive SQL语法报错 及相应解决方法

    Hive SQL语法与经常用的mysql语法具有一定差异性 按照写mysql的习惯写出的sql经常报错 且报错很难看出问题原因 因此在此记录出现问题的现象和解决方式 Error Error while compiling statement
  • String类中重写Object中的equals方法源码解析

    一 Object类中的equals方法 public boolean equals Object obj return this obj 由上面的代码可以看出 Object类中的equals方法比较的是地址 注意 对于引用类型比较的是地址
  • 如何使用webmagic发送post请求,并解析传回的JSON

    以浙江法院公开网的送达公告数据为例 http www zjsfgkw cn TrialProcess NoticeSDList 1 分析页面 看到参数有3个 分别是cbfy pageno和pagesize 传回来的数据是以json形式存在
  • 解决哈希(HASH)冲突的主要方法

    虽然我们不希望发生冲突 但实际上发生冲突的可能性仍是存在的 当关键字值域远大于哈希表的长度 而且事先并不知道关键字的具体取值时 冲突就难免会发 生 另外 当关键字的实际取值大于哈希表的长度时 而且表中已装满了记录 如果插入一个新记录 不仅发
  • vue router连续点击多次路由报错根本原因和解决方法

    原因 vue router 升级到 3 1 x 后 重复点击导航时 控制台出现报错 vue router v3 1 后 回调形式改成 promise api 了 返回的是 promise 如果没有捕获到错误 控制台始终会出现警告 解决方法
  • windows 11部署wsl环境

    部署WSL2环境 Ubuntu Centos有巨坑 建议不要安装 docker等使用会出问题 一 安装基础服务 首先需要先安装WSL WIN11直接打开powershell或者cmd输入 wsl install install 命令执行以下
  • AndroidStudio Grade 7.0 Maven搭建

    在组件化项目架构中每个组件管理我们一般使用分仓库管理 每个组件分别打包成aar包引入项目依赖 老版本 gradle 我们一般使用 maven 插件来上传aar包 而 Gradle 6 x 版本更新了上传插件为 maven publish 低
  • 仿二手车之家下拉列表

    效果展示 基础知识 认识 ViewDragHelper 类 和我们上次在这篇文章 仿QQ6 0主页面侧滑效果 第二种实现方法 中所讲的 GestureDetector 类一样 ViewDragHelper类也是系统给我们提供的 一种处理用户
  • PHP之伪协议

    前言 伪协议是什么 PHP伪协议事实上就是支持的协议与封装协议 ctf中的文件包含 文件读取的绕过 正则的绕过等等会需要用到 那伪协议有哪些 file data gopher php 等等 下面会讲 PHP伪协议 file 协议 本地文件传
  • 基于NodeJS的14款Web框架

    在几年的时间里 Node js逐渐发展成一个成熟的开发平台 吸引了许多开发者 有许多大型高流量网站都采用Node js进行开发 像PayPal 此外 开发人员还可以使用它来开发一些快速移动Web框架 下面就介绍14款基于Node js的We
  • 一些简单的C#语句的高级写法

    在C 的开发中 我们常常使用Debug Log来输出我们需要的信息 但是使用这个语句同时也会浪费一些内存 例如 我设计一个游戏角色的名称 血量 等级以及经验 string strName 游戏主角 int Hp 100 int Level
  • IC后端实现训练营实战项目案例 _ se

    IC后端实现训练营实战项目案例 setup violation高达50ns 文章右侧广告为官方硬广告 与吾爱IC社区无关 用户勿点 点击进去后出现任何损失与社区无关 一转眼一年就过去了 今年你过的还好吗 有没有遇到生命中的贵人呢 如果有 请
  • 好用的工具类或配置

    目录 通过数据库表快速生成controller service serviceimp mapper entity 编辑使用Swagger快速生成文档 通过MybatisPlus来简单实现分页查询 封装FastJsonRedisSeriali
  • redis知识点总结对比

    1 redis特性 1 是一个速度非常快的非关系型数据库 2 可以存储key与5种不同类型值的映射关系 3 可以将键值数据持久化到硬盘中 4 可以使用复制特性扩展读性能 5 可以使用分片来扩展写性能 2 redis和其他产品的对比 3 re
  • NIST数字测试套件使用说明

    NIST 测试套件是由15个测试组成的统计软件包 这些是为了测试随机 任意长度 由基于硬件或软件的密码随机或伪随机数生成器产生的二进制序列 测试关注于各种不同类型的已存在的非随机序列 有些测试可以分成各种子测试 15个测试主要是 属于密码算
  • Vue中组件和插件有什么区别?

    一 组件是什么 组件就是把图形 非图形的各种逻辑均抽象为一个统一的概念 组件 来实现开发的模式 在Vue中每一个 vue文件都可以视为一个组件 组件的优势 降低整个系统的耦合度 在保持接口不变的情况下 我们可以替换不同的组件快速完成需求 例
  • 大数据学习——Zookeeper集群搭建

    一 Zookeeper入门 1 概述 Zookeeper是一个开源的分布式的 为分布式框架提供协调服务的Apache项目 2 特点 1 Zookeeper 一个领导者 Leader 多个跟随者 Follower 组成的集群 2 集群中只要有