02数仓平台Zookeeper

概述

ZooKeeper是一种分布式协调服务,用于管理大型主机集。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式性质。

Zookeeper工作机制

Zookeeper从设计角度来理解,就是一个观察者模式设计的分布式服务管理框架,它负责存储和管理核心数据,接受观察者的注册,一旦数据状态发生变化,Zookeeper负责通知在Zookeeper上注册的观察者。

特点

在这里插入图片描述

数据结构

Zookeeper数据模型的结构与Unix 文件系统类似,整体可以看做为一颗树,每个节点可称做 ZNode。每个 ZNode 默认存储 1MB的数据,每个 ZNode可以通过其路径唯一标识。
在这里插入图片描述

应用场景

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

统一集群管理

在这里插入图片描述

服务器节点动态上下线

在这里插入图片描述
客户端能实时洞察到服务器上下线的变化

zookeeper 安装

  1. 集群规划:在hadoop101、hadoop102 和hadoop103 三个节点上部署 Hadoop
  2. 下载地址: https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/
  3. 解压安装:
[logan@hadoop101 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
[logan@hadoop101 software]$ cd /opt/module
[logan@hadoop101 module]$  ln -snf apache-zookeeper-3.5.7-bin/ zookeeper
  1. 配置服务器编号
    • 在/opt/module/zookeeper 目录下创建zkData
    [logan@hadoop101 zookeeper]$ mkdir zkData
    
    • 在zkData 目录下创建myid文件,并写入编号 1,然后:wq退出。注意使用 vi编辑器写入,尽量不要拷贝或者用其他服务写入
    [logan@hadoop101 zkData]$ vim myid
    1
    
  2. 配置zoo.cfg文件
    • 复制一份zoo.cfg 文件
    [logan@hadoop101 zkData]$ cd /opt/module/zookeeper/conf/
    [logan@hadoop101 conf]$ cp zoo_sample.cfg zoo.cfg
    
    • 在zoo.cfg修改数据存储路径配置
    [logan@hadoop101 conf]$ vim zoo.cfg
    dataDir=/opt/module/zookeeper/zkData
    
    • 在zoo.cfg中增加如下配置
    #######################cluster##########################
    server.1=hadoop101:2888:3888
    server.2=hadoop102:2888:3888
    server.3=hadoop103:2888:3888
    
  3. 同步/opt/module/apache-zookeeper-3.5.7-bin目录到hadoop102和 hadoop103,注意 xsync 是hadoop 安装时候配置的脚本,可以同步到其他服务器上去
[logan@hadoop101 bin]$ xsync /opt/module/apache-zookeeper-3.5.7-bin/
  1. 修改hadoop102 和 hadoop103上的 myid 文件为 2 和 3
  2. 分别在hadoop101、hadoop102和hadoop103 上启动 zookeeper。
/opt/module/zookeeper/bin/zkServer.sh start
  1. 使用zkCli 进行测试
[logan@hadoop101 zookeeper]$ bin/zkCli.sh[zk: localhost:2181(CONNECTED) 3] ls /
[zookeeper][zk: localhost:2181(CONNECTED) 4] create /test
Created /test[zk: localhost:2181(CONNECTED) 6] ls /
[test, zookeeper]

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

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

相关文章

基于springboot,vue高校图书馆管理系统

开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatisredis 本项…

[英语学习][6][Word Power Made Easy]的精读与翻译优化

[序言] 针对第18页的阅读, 进行第二次翻译优化以及纠错, 这次译者的翻译出现的严重问题: 没有考虑时态的变化导致整个翻译跟上下文脱节, 然后又有偷懒的嫌疑, 翻译得很随意. [英文学习的目标] 提升自身的英语水平, 对日后编程技能的提升有很大帮助. 希望大家这次能学到东西,…

2023年12月03日新闻简报(国内国际)

新闻简报 每天三分钟,朝闻天下事。今天是:2023年12月03日,星期日,农历十月廿一,祝工作愉快,身体健康,生活喜乐: 👉👉国内新闻 1、1日凌晨,四川…

OpenCV技术应用(6)— 暖色滤镜和冷色滤镜

前言:Hello大家好,我是小哥谈。本节课就手把手教大家如何将一幅图像转化成暖色滤镜和冷色滤镜,希望大家学习之后能够有所收获~!🌈 目录 🚀1.技术介绍 🚀2.暖色滤镜 🚀3.冷色滤…

SpringBoot 是如何启动一个内置的Tomcat

为什么说Spring Boot框架内置Tomcat 容器,Spring Boot框架又是怎么样去启动Tomcat的?我简单总结下学习过程。 一:简单了解SpringBoot的启动类 我们都知道Spring Boot框架的启动类上是需要使用 @SpringBootApplication 注解标注的, @SpringBootApplication 是一个复合注解…

FL Studio(水果软件)2024最新中文版云盘下载

如今,越来越多的音乐人选择使用音乐制作软件来进行音乐的创作,一台电脑、一款软件以及一个外接MIDI就是一个小型的音乐工作站。FL Studio成了音乐界萌新的首选,目前最新的版本为FL Studio2024版本。 你可以不知道如何做音乐,但是…

Normalizing Kalman Filters for Multivariate Time Series Analysis

l l l means latent state,LGM means ‘linear Gaussian state space models’ 辅助信息 作者未提供代码

cnpm 安装后无法使用怎么办?

问题的原因 cnpm 安装成功,但是却无法使用,一般分为两种情况,一种是提示无法执行命令,另一种是可以执行但是执行时报错,下面分别说明遇到这两种情况的解决方案。 解决方案 问题一:无法执行相关命令 首先…

CleanMyMac X4.16.2最新2024注册许可证

都说苹果的闪存是金子做的,这句话并非空穴来风,普遍都是256G起步,闪存没升级一个等级,价格都要增加上千元。昂贵的价格让多数消费者都只能选择低容量版本的mac。而低容量的mac是很难满足用户的需求的,伴随着时间的推移…

LZW的编码和解码

不同于哈弗曼编码针对于每个元素编码,LZW主要针对字符串的编码优化,也就是把出现频率高的字符串压缩成一个字符表示,这也是大名鼎鼎的GIF采用的压缩格式。下面我将从三个角度谈谈我的一些理解,文章主要参考了这位大佬:…

jionlp :一款超级强大的Python 神器!轻松提取地址中的省、市、县

在日常数据处理中,如果你需要从一个完整的地址中提取出省、市、县三级地名,或者乡镇、村、社区两级详细地名,你可以使用一个第三方库来实现快速解析。在使用之前,你需要先安装这个库。 pip install jionlp -i https://pypi.douba…

SQL Sever 基础知识 - 数据筛选

SQL Sever 基础知识 - 四、数据筛选 四、筛选数据第1节 DISTINCT - 去除重复值1.1 SELECT DISTINCT 子句简介1.2 SELECT DISTINCT 示例1.2.1 DISTINCT 一列示例1.2.2 DISTINCT 多列示例 1.2.3 DISTINCT 具有 null 值示例1.2.4 DISTINCT 与 GROUP BY 对比 第2节 WHERE - 过滤查询…

jvm基本概念,运行的原理,架构图

文章目录 JVM(1) 基本概念:(2)运行过程 今天来和大家聊聊jvm, JVM (1) 基本概念: JVM 是可运行Java代码的假想计算机,包括一套字节码指令集、一组寄存器、一个栈一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作…

【智能家居】三、添加语音识别模块的串口读取功能点

语音识别模块SU-03T 串口通信线程控制代码 inputCommand.h(输入控制指令)voiceControl.c(语音控制模块指令)main.c(主函数)编译运行结果 语音识别模块SU-03T AI智能语音识别模块离线语音控制模块语音识别…

YOLOv8界面-目标检测+语义分割+追踪+姿态识别(姿态估计)+界面DeepSort/ByteTrack-PyQt-GUI

YOLOv8-DeepSort/ByteTrack-PyQt-GUI:全面解决方案,涵盖目标检测、跟踪和人体姿态估计 YOLOv8-DeepSort/ByteTrack-PyQt-GUI是一个多功能图形用户界面,旨在充分发挥YOLOv8在目标检测/跟踪和人体姿态估计/跟踪方面的能力,与图像、…

2023.11.30 关于 MyBatis 动态 SQL 的使用

目录 引言 if 标签 trim 标签 where 标签 set 标签 foreach 标签 引言 动态 sql 是 MyBatis 的强大特性之一允许你根据输入的参数动态地构建 sql 语句从而在运行时根据不同的条件生成不同的 sql 核心思想 基于提供的数据和条件,能够修改、增加、删除 sql…

有点迷糊class和初始化参数的用法了

翻阅手册https://www.runoob.com/python3/python3-class.html Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 如果你以前没有接触过面向对象的编程语言&…

力扣.特定深度节点链表(java BFS解法)

Problem: 面试题 04.03. 特定深度节点链表 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 根据题意需要取出二叉树每一层节点组成的链表并将其添加到一个数组中。我们将该要求分解成如下的操作: 1.利用BFS获取二叉树每一层的节点 2.利用链表的尾插法将二…

Elasticsearch 如何处理 Aggs 顺序中的大写字母和小写字母?

Elasticsearch 排序允许你根据特定条件对搜索结果进行排序。 然而,在排序时处理区分大小写时,Elasticsearch 将大写和小写字母视为不同的字符,分别对它们进行排序。 这是因为 ASCII 表顺序是从大写 A 到小写 z。 默认情况下,Elas…

6大关键词:尝新/随心/低忠诚···,全面解读食品饮料行业发展趋势与消费者洞察|徐礼昭

内容:重构零售实验室&商派 《2023食品饮料行业零售数字化洞察报告》节选 作者:徐礼昭(商派市场负责人,重构零售实验室负责人) 如今品牌的影响力不再止于资本与业绩数字,更多是在产品核心价值以及消费…