Zookeeper集群搭建

news2024/10/6 10:35:32

文章目录

  • 前言
  • Zookeeper集群搭建
    • (一)Leader+Follower模式
    • (二)下载zookeeeper的压缩包
    • (三)解压
    • (四)修改配置文件
    • (五)添加myid配置
    • (六)安装包分发并修改myid的值
    • (七)配置Path环境变量
    • (八)三台机器启动zookeeper服务
  • 总结


前言

#博学谷IT学习技术支持#
本篇文章主要介绍Zookeeper集群所需的环境,以及集群搭建流程。

Zookeeper集群搭建

Zookeeper集群搭建指的是ZooKeeper分布式模式安装,通常由2n+1台server组成。这是为了保证Leader选举能够得到多数的支持,所以ZooKeeper集群的数量一般为奇数。
Zookeeper运行需要java环境,需要提前好安装jdk,我们本次主要安装leader+follower模式的集群,大致过程如下:

  1. 配置主机名称到IP地址映射配置
  2. 修改ZooKeeper配置文件
  3. 远程复制分发安装文件
  4. 设置myid
  5. 启动ZooKeeper集群

(一)Leader+Follower模式

在这里插入图片描述

(二)下载zookeeeper的压缩包

下载网址为:http://archive.apache.org/dist/zookeeper/,我们下载的zk版本为3.4.6,下载完成后上传到linux系统的/export/software路径下准备进行安装

(三)解压

在node1主机上,解压zookeeper的压缩包到/export/server路径下去,然后准备进行安装

cd /export/software
tar -zxvf zookeeper-3.4.6.tar.gz -C /export/server/

(四)修改配置文件

在node1主机上,修改配置文件

cd /export/server/zookeeper-3.4.6/conf/

cp zoo_sample.cfg zoo.cfg
mkdir -p /export/server/zookeeper-3.4.6/zkdatas/
vim  zoo.cfg

修改以下内容:

#Zookeeper的数据存放目录
dataDir=/export/server/zookeeper-3.4.6/zkdatas
# 保留多少个快照
autopurge.snapRetainCount=3
# 日志多少小时清理一次
autopurge.purgeInterval=1
# 集群中服务器地址
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

(五)添加myid配置

在node1主机的/export/server/zookeeper-3.4.6/zkdatas/这个路径下创建一个文件,文件名为myid ,文件内容为1

echo 1 > /export/server/zookeeper-3.4.6/zkdatas/myid 

(六)安装包分发并修改myid的值

在node1主机上,将安装包分发到其他机器;
node1上执行以下两个命令:

scp -r  /export/server/zookeeper-3.4.6/ node2:/export/server/
scp -r  /export/server/zookeeper-3.4.6/ node3:/export/server/

node2上修改myid的值为2

echo 2 > /export/server/zookeeper-3.4.6/zkdatas/myid

node3上修改myid的值为3

echo 3 > /export/server/zookeeper-3.4.6/zkdatas/myid

(七)配置Path环境变量

1、分别在node1,node2和node3三台集群上,修改/etc/proflie,添加以下内容:

export ZOOKEEPER_HOME=/export/server/zookeeper-3.4.6
export PATH=:$ZOOKEEPER_HOME/bin:$PATH

2、分别在三台主机中使用以下命令刷新环境变量配置档案

source /etc/profile

(八)三台机器启动zookeeper服务

启动zookeeper服务,确认集群是否安装成功,分别三台机器中执行一下shell命令启动zookeeper服务:

zkServer.sh start

三台主机都启动完成后分别查看启动状态

zkServer.sh  status

总结

Zookeeper是一个分布式协调服务的开源框架,主要用来解决分布式集群中应用系统的一致性问题。其本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控存储的数据的状态变化,从而实现基于数据的集群管理。

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

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

相关文章

痞子衡嵌入式:存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码)

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码)。 痞子衡之前写过一篇文章 《J-Flash在Micron Flash固定区域下载校验失败的故事》,这篇文章里提及了 Micron 家的串行…

明峰医疗IPO终止:亏损超过14亿元,王瑶法、潘华素夫妇为实控人

近日,上海证券交易所科创板披露的信息显示,明峰医疗系统股份有限公司(下称“明峰医疗”)向上海证券交易所提交了撤回上市申请文件的申请,保荐人海通证券提交了撤回保荐的申请。 因此,上海证券交易所决定终…

设计模式之创建型模式---单例模式

文章目录1.介绍2.应用场景3.实现3.1 结构3.2 类图3.3 代码示例3.3.1 饿汉式3.3.2 懒汉式3.3.3 双重检验锁3.3.3 静态内部类实现单例3.3.4 枚举类实现单例总结1.介绍 单例模式(singleton) 是指某个类中能生成一个实例,该类提供了一个全局访问点,提供一个唯…

JUC并发编程与源码分析笔记07-volatile与JMM

被volatile修饰的变量有两大特点 可见性、有序性,但是不保证原子性。 当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量值立即刷新回主内存中。当读一个volatile变量时,JMM会把该线程对应的本地内存设置为无效,重…

Java开发:汇编语言

一、为什么学习汇编语言 中国人和中国人沟通需要学习汉语 中国人和美国人沟通在会汉语的基础上还要学习英语 那么,人和机器沟通的话需要学习哪些语言呢? 答案是:人类的语言机器语言 但是,机器语言都是由0和1组成,人类…

opencv图像直方图

灰度直方图:从数学上来说,图像直方图是描述图像的各个灰度级的统计特性,它是图像灰度值的函数,统计图像中各个灰度级出现的次数或频率。从图像上来说,灰度直方图是一个二维图像,横坐标为图像中各个像素点的…

git stash命令用法详解(临时存储代码)

1、需求背景 有时候在开发过程中,在一个分支上(dev1)已经写了一部分代码,但是需要紧急切换到别的分支(dev2)上修改某个代码,这时候不能直接从dev1分支上切换到dev2分支上,提示你需要保存代码。此时dev1分支…

Linux内存模型

sparse内存模型前言1.SPARSEMEM原理:2.vmemmap在虚拟地址空间位置3.virt,phys,page,pfn之间的转换关系3.1内核态虚拟地址和物理内存地址转换关系3.2页帧pfn、物理内存的page指针的关系3.3其他快捷的转换总结前言 Linux中的物理内存被按页框划…

408 考研《操作系统》第二章第五节:信号量机制和用信号量机制实现进程互斥、同步、前驱关系

文章目录教程1. 信号量机制1.1 概念1.2 信号量机制——整型信号量1.3 信号量机制——记录型信号量(important)1.4 总结2. 用信号量机制实现进程互斥、同步、前驱关系2.1 信号量机制实现进程互斥(important)2.2 信号量机制实现进程…

java基于SpringBoot的在线答疑系统的研究与实现-计算机毕业设计

项目介绍 社会的发展和科学技术的进步,互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大师生的喜爱,也逐渐进入了每个学生的使用。互联网具有便利性,速度快,效率高,成本低等优点。 因此,构建符合…

【matplotlib】2-使用统计函数绘制简单图形

文章目录使用统计函数绘制简单图形1.函数bar()--用于绘制柱状图2.函数barh()--用于绘制条形图3.函数hist()--用于绘制条形图4.函数pie()--用于绘制饼图5.函数polar()--用于绘制极线图6.函数scatter()--用于绘制气泡图7.函数stem()--用于绘制棉棒图8.函数boxplot()--用于绘制箱线…

openGauss洗冤录 之 copy from

openGauss洗冤录 之 copy from 引子 之前一篇《测评报告:文件导入哪家强?》关于openGauss性能与预期不符的问题留下了个坑,今天回来填坑。 前文提到使用openGauss的copy from导入csv文件耗时是mysql的2倍,是PostgreSQL的6倍&#…

下载nacos-server-1.1.4安装包,使用mvn打包

git官方地址下载nacos-server-1.1.4.zip速度太慢,码云上下载地址没有安装包。采用从码云上下载源码,自行打包。(https://gitee.com/mirrors/Nacos/tree/1.1.4)下载完成之后,进入项目目录如图 下载源码后 ,解压 本地在本文件夹 在d…

这十套练习,教你如何用Pandas做数据分析(03)

练习3-数据分组 探索酒类消费数据 步骤1 导入必要的库 运行以下代码 import pandas as pd 步骤2 从以下地址导入数据 运行以下代码 path3 ‘…/input/pandas_exercise/pandas_exercise/exercise_data/drinks.csv’ #‘drinks.csv’ 步骤3 将数据框命名为drinks 运行以下代…

SpringBoot+Vue实现前后端分离的航空售票管理系统

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue.js 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JD…

JavaScript(一):编写位置、输入输出语句

JavaScript入门一、 JavaScript编写位置二、输入输出语句一、 JavaScript编写位置 (1)编写到script标签中 控制浏览器弹出一个警告框 alert("警告内容")让计算机在页面中输出一个内容 document.write() /*可以向body中输出一个内容*/向控制…

基于java+springboot+mybatis+vue+mysql的自媒体社区平台

项目介绍 近几年来自媒体平台的发展越来越迅猛,并逐渐成为新闻信息传播的主流模式,自媒体平台的内容构成没有主要的核心,新闻信息的探讨和传播环境比较自由,与此同时自媒体平台概念的应用与发展,赋予了普通民众发表自己感想的权利…

OneUI 5.5.0 for HTML/PHP/VueJS

OneUI 是一个高度通用的 Bootstrap 管理仪表板模板和 UI 框架,支持 Laravel,可让您以相同的速度和稳健的布局创建各种网站。它是使用 Sass 和 ECMAScript 6 (ES6) 开发的,并为开发人员提供了各种智能工具,如 webpack5、Babel 7、G…

如何避免SCI写作中的中式思维以及无处不在的Chinglish

现在随着全球经济的下行,很多小伙伴都选择了延时就业,因此更多的人开始考研和考博。新东方大学生学习与发展中心发布的《新东方2023考研报告》预测:2023考研报名将超过520万人。俗话说(我道听途说的):一入科…

一文教你数据结构体栈和队列的实现

前言: 关于c语言的学习已经差不多更新完毕,如果发现个别知识点,我还会继续更新,但目前已经准备往c和数据结构的重心挪动,这篇文章就是向大家讲述数据结构中栈和队列的实现。 💞 💞 欢迎来到小…