大数据应用——zookeeper集群部署

2023-11-04

本地模式安装

  1. 安装前准备
  2. (1)安装 JDK
    1. 拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下
    2. 解压到指定目录

[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

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

[hadoop@hadoop101 conf]$ mv zoo_sample.cfg zoo.cfg

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

[hadoop@hadoop101 zookeeper-3.5.7]$ sudo vim zoo.cfg

修改如下内容:

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. 操作 Zookeeper
    1. 启动 Zookeeper

[hadoop@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh start

    1. 查看进程是否启动

[hadoop@hadoop101 zookeeper-3.5.7]$ jps

4020 Jps

4001 QuorumPeerMain

    1. 查看状态

[hadoop@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

Mode: standalone

    1. 启动客户端

[atguigu@hadoop101 zookeeper-3.5.7]$ bin/zkCli.sh

    1. 退出客户端:

[zk: localhost:2181(CONNECTED) 0] quit

    1. 停止 Zookeeper

[hadoop@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh stop

配置参数解读

Zookeeper中的配置文件zoo.cfg中参数含义解读如下:

1tickTime = 2000:通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒

 2 ) initLimit = 10:LF初始通信时限

 LeaderFollower初始连接时能容忍的最多心跳数(tickTime的数量)

3 ) syncLimit =5: LF同步通信时限

 

LeaderFollower之间通信时间如果超过syncLimit * tickTimeLeader认为Follwer

掉,从服务器列表中删除Follwer

4) dataDir:保存Zookeeper中的数据

注意:默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认的tmp目录。

5) clientPort = 2181:客户端连接端口,通常不做修改。
 

集群操作

 集群安装

  1. 集群规划
  2. 解压安装
    1. 在 hadoop101 解压 Zookeeper 安装包到/opt/module/目录下

[hadoop@hadoop101 software]$

tar -zxvf apache-zookeeper-3.5.7 bin.tar.gz -C /opt/module/

    1. 修改 apache-zookeeper-3.5.7-bin 名称为 zookeeper-3.5.7

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

  1. 配置服务器编号
    1. 在/opt/module/zookeeper-3.5.7/这个目录下创建 zkData

[hadoop@hadoop101 zookeeper-3.5.7]$ mkdir zkData

    1. 在/opt/module/zookeeper-3.5.7/zkData 目录下创建一个 myid 的文件

[hadoop@hadoop101 zkData]$ sudo vi myid

在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)

 

    1. 拷贝配置好的 zookeeper 到其他机器上

[hadoop@hadoop101 module ]$

scp zookeeper-3.5.7 hadoop@192.168.2.123:/opt/module/zookeeper-3.5.7/conf

[hadoop@hadoop101 module]$

scp zookeeper-3.5.7 hadoop@192.168.2.124:/opt/module/zookeeper-3.5.7/conf

并分别在 hadoop102、hadoop103 上修改 myid 文件中内容为 3、4

  1. 配置zoo.cfg文件
    1. 重命名/opt/module/zookeeper-3.5.7/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg

[hadoop@hadoop101 conf]$ mv zoo_sample.cfg zoo.cfg

    1. 打开 zoo.cfg 文件

[hadoop@hadoop101 conf]$sudo vim zoo.cfg

#修改数据存储路径配置

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

#增加如下配置

#######################cluster########################## server.1=hadoop101:2888:3888

server.2=hadoop102:2888:3888

server.3=hadoop103:2888:3888

 

    1. 配置参数解读

server.A=B:C:D。

    1. 是一个数字,表示这个是第几号服务器;集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server
    2. 是这个服务器的地址;
    3. 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
    4. 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的

Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

    1. 同步 zoo.cfg 配置文件

[hadoop@hadoop101 conf]$

scp zoo.cfg hadoop@192.168.2.123:/opt/module/zookeeper-3.5.7/conf

[hadoop@hadoop101 conf]$

scp zoo.cfg hadoop@192.168.2.124:/opt/module/zookeeper-3.5.7/conf

  1. 集群操作
    1. 分别启动 Zookeeper

[hadoop@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh start

[hadoop@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh start

[hadoop@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh start

    1. 查看状态

[hadoop@hadoop101 zookeeper-3.5.7]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

Mode: follower

 

[hadoop@hadoop102 zookeeper-3.5.7]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

Mode: follower

 

[hadoop@hadoop103 zookeeper-3.4.5]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

Mode: leader

 

3.1.3 ZK 集群启动停止脚本

  1. 在 hadoop101 的/home/atguigu/bin 目录下创建脚本

[hadoop@hadoop101 bin]$ sudo vim zk.sh

[hadoop@hadoop101 bin]$ ll

[hadoop@hadoop101 bin]$ sudo chown -R hadoop:hadoop /home/hadoop/bin

[hadoop@hadoop101 bin]$ ll

 

在脚本中编写如下内容

#!/bin/bash

 case $1 in "start"){

 for i in hadoop102 hadoop103 hadoop104

 do

        echo "---------- zookeeper $i 启动 ------------"

        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"

 done

};; "stop"){

 for i in hadoop102 hadoop103 hadoop104

 do

        echo "---------- zookeeper $i 停止 ------------ "

       ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"

 done

};; "status"){

 for i in hadoop102 hadoop103 hadoop104

 do

        echo "---------- zookeeper $i 状态 ------------ "

        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"  done

};; esac

  1. 增加脚本执行权限

[hadoop@hadoop102 bin]$ chmod u+x zk.sh

  1. Zookeeper 集群启动脚本

[hadoop@hadoop102 bin]$ zk.sh start

 

  1. Zookeeper 集群停止脚本

[hadoop@hadoop102 bin]$ zk.sh stop

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

大数据应用——zookeeper集群部署 的相关文章

  • 感知机模型

    目录 一 感知机模型 1 1定义 感知机 1 2几何解释 二 损失函数 三 学习算法 3 1感知机学习算法的原始形式 3 2感知机学习算法的对偶形式 一 感知机模型 1 1定义 感知机 假设输入空间 特征空间 是 输出空间是 输入表示实例的
  • 【前端性能】常见前端性能优化

    常见性能优化 前言 一 图片优化 1 雪碧图 图片精灵 2 图片压缩 3 字体图标代替图片 4 webp图片 二 DOM优化 1 缓存DOM节点查找的结果 2 防抖和节流 3 事件代理 4 减少合并DOM操作 5 DOM读写分离 6 DOM

随机推荐

  • VMware虚拟机扩容——Ubuntu的/dev/sda1分区挂在根目录(“/“)下用LVM(逻辑卷管理)模式扩容无效

    一 问题描述 在VMware虚拟机装了Ubuntu18 04 一开始分配的内存是20多个G 如下图 用了一段时间后发现不够用了 需要扩容 然后上网查了一下虚拟机扩容的方法 但是大多数教程的情况是 根目录 挂在类似 dev xxx xxxro
  • ThinkpadE480 win10改win7

    Thinkpad E480win10改win7 电脑配置信息 i7 8550u 直接进PE 一键装机 选择win7镜像安装到系统盘 安装后进系统失败 没有修改bios信息 win10系统改win7设置bios方法图文教程 一起来围观吧 ht
  • Vue3导出excel,使用js-table2excel

    装依赖 npm install js table2excel vue中引入 import table2excel from js table2excel 使用 const column title sn key sn type text t
  • Mysql命令及增删改查操作

    测试工程师的目的是找出软件的不足 并告诉开发工程师 出现问题的环境 操作步骤和输入输出数据 优秀的测试工程师 需要告诉开发团队 软件的不足 这类不足会导致什么情况 如何避免 以及如何去修改 这是为什么高级软件测试工程师比开发工程师工资高的原
  • Qt应用开发(基础篇)——组合框容器 QGroupBox

    一 前言 QGroupBox继承于QWidget 是一个带有标题的组合框架容器控件 QGroupBox组合框容器自带一个顶部标题 一个面板 面板内部展示各种各样的部件 标题用来解释这些部件为什么集合在一起 并且支持键盘快捷方式切换部件焦点
  • c++读文件(一次全读/每行读/多次读)

    我以为这些都很容易在网上找到 谁知网上乱七八糟的东西太多 让我找了很久 开发环境为Windows VS2013 一次全读 std ifstream t path 读文件ifstream 写文件ofstream 可读可写fstream std
  • 开源IOT——一个最小的物联网系统设计方案及源码

    或许这个可以当成是你的毕业设计又或者你可以用它来控制你想控制的东西 总之你可以用它来做一个最小的物联网系统 不过 在这里可能没有那么复杂的功能 因为强调的是最小 BareMinimum 这也是为什么我没有改Arduino上面的工程名的原因
  • [附源码]计算机毕业设计校园疫情管理系统Springboot程序

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • SpringMVC SpringBoot Get请求接收复杂参数

    前沿 对于复杂的接口请求 一般都用POST JSON数据的方式 后端用 RequestBody接收 但是对于某些有洁癖的人或者想严格遵循类Restful风格的人来讲 查询数据就是想用GET 怎么实现呢 Request Data public
  • can总线的示波器检测方法

    整理自网络 stm32的can总线是在APB1上的 stm32f10x的主频是72Mhz can外设时钟是36Mhz stm32f2xx的主频是120Mhz can外设时钟是30Mhz STM32 APB1和APB2区别 APB2负责AD
  • Linux统计某文件夹下文件、文件夹的个数

    http blog sina com cn s blog 464f6dba01012vwv html 统计某文件夹下文件的个数 ls l grep wc l 统计某文件夹下目录的个数 ls l grep wc l 统计文件夹下文件的个数 包
  • 瞧瞧,这样的「函数」才叫 Pythonic

    在机器学习中 我们经常需要使用类和函数定义模型的各个部分 例如定义读取数据的函数 预处理数据的函数 模型架构和训练过程的函数等等 那么什么样的函数才是漂亮的 赏心悦目的代码呢 本期教程 会从命名到代码量等六方面探讨如何养成美妙的函数 文末有
  • Python之序列

    序列是一种数据存储方式 用来存储一系列的数据 在内存中 序列就是一块用来存放多个值的连续空间 比如一个整数序列 10 20 30 40 可以这样表示 由于Python3中一切皆对象 在内存中实际是按照如下方式储存的 a 10 20 30 4
  • windows自带虚拟机无法正确安装软件 解决方案

    使用的虚拟机版本Ubuntu 20 04 4 LTS 错误描述 ruby DESKTOP LP8NQUK tmp test sudo apt install imagemagic 6 q16 sudo password for ruby R
  • Linux如何用ftp传输文件【ftp命令】

    Linux如何用ftp传输文件 ftp命令 Windows Linux 带端口的ftp命令 使用 FTP 下载文件 使用 FTP 上传文件 关闭FTP连接 Windows 在Windows系统中 可以用可视化的ftp来传输文件 或者下在文件
  • 第二章:25+ Python 数据操作教程(第八节如何从 PANDAS DATAFRAME 中删除一列或多列)

    在本教程中 我们将介绍如何从 pandas 数据框中删除或删除一个或多个列 是一个用于数据操作的 python 包 它具有以下数据任务的几个功能 目录 在 python 中删除一列 在 Python 中删除多列 如何从 pandas Dat
  • tp5 使用_initialize做验证时验证失败不能直接返回数据和打断程序运行

    在项目开发时写了一个基类 让其他控制器都继承这个类 当访问控制器时基类某些验证时 直接截断返回错误不执行控制器中的解决办法 失败写法 return json encode data 正确写法 echo json encode data ex
  • 利用XSS获取cookie

    如果web应用在用户输入的地方没有过滤特殊字符 比如 lt gt
  • MapReduce思想的学习

    这学期教hadoop 发现在备课MapReduce思想的时候 查阅资料基本上所有博客都没有真正讲出MapReduce的思想 而只是把它的计算过程讲出来 甚至有些说法还是误人子弟的 所以我就一直在想如何能把MapReduce的思想讲得通俗易懂
  • 大数据应用——zookeeper集群部署

    本地模式安装 安装前准备 1 安装 JDK 拷贝 apache zookeeper 3 5 7 bin tar gz 安装包到 Linux 系统下 解压到指定目录 hadoop hadoop101 software tar zxvf apa