[000-01-030].第3节 :搭建Zookeeper集群环境

news2024/11/15 17:52:41

1.搭建Zookeeper集群环境

1.1.集群安装:

a.集群规划:

  • hadoop103(192.168.2.3)、hadoop104(192.168.2.4) 和 hadoop105((192.168.2.5) 三个节点上都部署 Zookeeper

b.解压安装:

  • 1.下载zookeeper压缩版本,解压放在opt/moduel目录下,然后解压;解压命令:tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/;在moduel目录下,更改文件夹名称:zookeeper-3.5.7,更改名称的命令是:mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
    在这里插入图片描述
    在这里插入图片描述

c.配置服务器编号

  • 1.在/opt/module/zookeeper-3.5.7/这个目录下创建zkData:其命令是:mkdir zkData
    在这里插入图片描述
  • 2.在zkData目录下创建myid文件:vim myid,在文件中添加与server对应的编号(注意上下不要有空行,左右不要有空格),相当于服务器的身份标识,编号应该保证唯一
    在这里插入图片描述
  • 3.在103服务器上的module目录下,使用xsync命令将配置好的 zookeeper 拷贝到其他机器上; 注意:这里面的xsync是提前写好的脚本,虚拟机克隆及分发脚本方法,分发完后去另外两台服务器上确认下是否分发成功。
    在这里插入图片描述
  • 4然后.在/opt/module/zookeeper-3.4.10/zkData 目录下 myid 的文件,添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)103104105
    在这里插入图片描述

d.配置zoo.cfg文件:

  • 1.配置修改dataDir数据存储路径:dataDir=/opt/module/zookeeper-3.5.7/zkData
  • 2.增加如下配置
    server.103=hadoop103:2888:3888
    server.104=hadoop104:2888:3888
    server.105=hadoop105:2888:3888
    
  • 3.配置参数解读: server.A=B:C:D
    • A:是一个数字,表示这个是第几号服务器;
      • 集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server
    • B:是这个服务器的地址;
    • C:交换信息的端口
      • 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
    • D:选举端口
      • 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口
        在这里插入图片描述
  • 5.在conf目录下执行文件分发命令来同步 zoo.cfg 配置文件 ,其命令是:xsync zoo.cfg

e.集群启动与停止:

  • 1.闭防火墙
    • 启动zookeeper之前要关闭防火墙,查看防火墙状态:firewall-cmd --state
    • 停止firewall:systemctl stop firewalld.service
    • 禁止firewall开机启动:systemctl disable firewalld.service
  • 2.服务器1启动:bin/zkServer.sh start
    在这里插入图片描述
  • 服务器1状态:bin/zkServer.sh status
    在这里插入图片描述
  • 3.服务器2启动:bin/zkServer.sh start
    在这里插入图片描述
  • 服务器2状态:bin/zkServer.sh status
    在这里插入图片描述
  • 4.服务器3的启动与状态:bin/zkServer.sh startbin/zkServer.sh status
    在这里插入图片描述

2.Zookeeper集群启动停止脚本

  • 1.在/root/bin目录下,创建zk.sh脚本:vim zk.sh
    在这里插入图片描述

  • 2.脚本内容:

    #!/bin/bash
    case $1 in
    "start"){
    	for i in hadoop103 hadoop104 hadoop105
    	do
    		echo ---------- zookeeper $i 启动 ------------
    		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh  start"
    	done
    }
    ;;
    
    "stop"){
    for i in hadoop103 hadoop104 hadoop105
    	do
    		 echo ---------- zookeeper $i 停止 ------------ 
    		 ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh  stop"
    	done
    }
    ;;
    
    "status"){
    	for i in hadoop103 hadoop104 hadoop105
    	do
    	 	echo ---------- zookeeper $i 状态 ------------ 
    		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
    	done
    }
    ;;
    esac
    
  • 3.增加脚本执行权限:chmod u+x zk.sh

  • 4.Zookeeper 集群启动脚本zk.sh start

  • 5.Zookeeper 集群停止脚本zk.sh stop
    在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2047166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件批量上传,oss使用时间戳解决同名问题 以及一些sql bug

1.文件批量上传 ApiOperation(value "文件批量上传")PostMapping("/multipleImageUpload")Transactional(rollbackFor Exception.class)public Result multipleImageUpload(ApiParam(name "files",value "文件",required true) R…

2024新型数字政府综合解决方案(六)

新型数字政府综合解决方案通过融合人工智能、大数据、区块链和云计算技术,构建了一个全方位智能化的政务平台,旨在提升政府服务的效率、透明度和公众参与度。该方案实现了跨部门的数据互联互通与实时更新,利用先进的数据分析和自动化处理技术…

38-PCB布局实战实战及优化

1.先对布局好的器件进行锁定 1.根据模块化布局 2.电容尽量靠近ic附近,可以起到很好的滤波效果 3.复位按键尽量摆在容易按键的地方,比如周围 。。。。 最后进行对齐

KubeSphere 社区双周报| 2024.08.02-08.15

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2024.08.02-08.15…

机器学习(2)-- KNN算法之手写数字识别

KNN算法 KNN(K-Nearest Neighbor,K最近邻)算法是一种用于分类和回归的非参数统计方法,尤其在分类问题中表现出色。在手写数字识别领域,KNN算法通过比较测试样本与训练样本之间的距离,找到最近的K个邻居&am…

智能监控,无忧仓储:EasyCVR视频汇聚+AI智能分享技术为药品仓库安全保驾护航

随着科技的飞速发展,药品仓库的安全管理正迎来前所未有的变革。药品作为直接关系到公众健康的重要物资,其安全存储和监管显得尤为重要。在这个背景下,视频汇聚平台EasyCVR视频智能管理系统的应用,为药品仓库的安全监管提供了强有力…

【Bug记录】友元函数不能访问私有成员?

项目场景: 问题源码: class Person { public:friend void Display(const Person& p, const Student& s);protected:string _name "1"; // 姓名 };class Student : public Person { protected:string _s "2"; };void Disp…

HTML静态网页成品作业(HTML+CSS)——自行车介绍网页设计制作(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码CSS部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 &#x1…

在业务增长、风险管理和网络安全之间取得平衡

疫情过后,商业环境和文化发生了重大变化,值得我们仔细考虑。我们都变得更加依赖技术,我们的工作方法也发生了变化,网络风险变得更加突出和持久。 监管领域变得更加积极和严格,特别是在安全和数据隐私问题方面。人工智…

OpenCV图像滤波(18)空间梯度计算函数spatialGradient()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算图像在x和y两个方向上的一阶导数,使用Sobel算子。 等价于调用: Sobel( src, dx, CV_16SC1, 1, 0, 3 ); Sobel( src,…

AI赋能软件测试:从自动化到智能化,让测试工作事半功倍

引言 在当今这个日新月异的数字时代,人工智能(AI)正以不可阻挡之势渗透并重塑着各行各业,其中,软件开发与测试领域更是迎来了前所未有的变革。随着软件系统的复杂性日益增加,用户对软件质量、性能及安全性的…

全息光存储技术能否取代硬盘?

随着云计算的迅猛发展及其支持的应用程序的日益丰富,现有数据存储技术面临着前所未有的挑战。目前,云存储主要依赖于固态硬盘(SSD)和硬盘驱动器(HDD)。其中,HDD因其成本低廉,在大容量…

LVGL系列2--linux + lvglv8 + vscode 移植

LVGL系列 一、LVGL移植 LVGL系列1–AT32移植LVGL_V8具体步骤 LVGL系列2–linux lvglv8 vscode 移植 二、输入设备 LVGL系列3–纯物理(外部)按键,数字键盘控制控件 文章目录 LVGL系列一、LVGL移植二、输入设备 一、新建文件夹并克隆源码官方仓库 7.11.0官方仓库…

BL196MQTT远程IO模块助力智能楼宇自动化升级

在智能楼宇自动化领域,每一个细节的优化都能带来整体效率与舒适度的显著提升。钡铼技术的BL196MQTT远程IO模块,以其卓越的灵活性和强大的性能,正在成为这一领域中推动楼宇自动化升级的关键力量。 钡铼技术IOy系列:创新与灵活性的…

R语言统计分析——OLS回归2

参考资料&#xff1a;R语言实战【第2版】 1、简单线性回归 本例使用R语言中基础安装中的数据集women&#xff0c;来通过身高预测体重&#xff0c;获得一个等式帮助我们分辨出那些过重或过轻的个体。 # 拟合数据 fit<-lm(weight~height,datawomen) # 查看数据拟合结果 summ…

HTTPS通讯全过程

HTTPS通讯全过程 不得不说&#xff0c;https比http通讯更加复杂惹。在第一次接触https代码的时候&#xff0c;不知道为什么要用用证书&#xff0c;公钥是什么&#xff1f;私钥是什么&#xff1f;他们作用是什么&#xff1f;非对称加密和对称加密是啥&#xff1f;天&#xff0c;…

Redis 单线程为何还能处理速度那么快?

Redis 单线程为何还能处理速度那么快&#xff1f; &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; Redis&#xff0c;作为一款单进程单线程的内存型数据库&#xff0c;其卓越的处理速度令人印象深刻。那么&#xff0c;它是如何实现这一点的呢…

用Python实现9大回归算法详解——05. 梯度提升回归(Gradient Boosting Regression)

1. 梯度提升回归的基本概念 1.1 什么是梯度提升&#xff1f; 梯度提升是一种集成学习方法&#xff0c;通过组合多个弱学习器来构建一个强大的预测模型。在梯度提升框架中&#xff0c;每个弱学习器都试图修正前一个模型的错误。与简单的加法模型不同&#xff0c;梯度提升通过逐…

基于YOLOv8的缺陷检测任务模型训练

文章目录 一、引言二、环境说明三、缺陷检测任务模型训练详解3.1 PCB数据集3.1.1 数据集简介3.1.2 数据集下载3.1.3 构建yolo格式的数据集 3.2 基于ultralytics训练YOLOv83.2.1 安装依赖包3.2.2 ultralytics的训练规范说明3.2.3 创建训练配置文件3.2.4 下载预训练模型3.2.5 训练…

Android逆向题解攻防世界-easy-apk

Jeb反编译apk 题目比较简单&#xff0c;就是一个改了码表的base64编码。 protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.setContentView(0x7F04001B); // layout:activity_main((Button)this.findViewById(0x7F0B0076)).set…