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 本项…

Kubernetes集群部署—部署Master 节点 (三)

文章目录 1 生成kube-apiserver证书 (master节点操作)1.1 自签证书颁发机构(CA)1.2 使用自签CA签发kube-apiserver HTTPS证书 2 从Github下载二进制文件3 解压二进制包 (master节点操作)4 部署kube-apiserv…

【开源视频联动物联网平台】JAIN-SIP库写一个SIP服务器

JAIN-SIP(Java API for Integrated Networks - Session Initiation Protocol)是用于实现SIP(Session Initiation Protocol)的Java API。以下是使用JAIN-SIP库编写一个简单的SIP服务器的基本步骤: 1.添加JAIN-SIP库依赖…

华为OD机试真题-求最多可以派出多少支团队-2023年OD统一考试(C卷)

题目描述: 用数组代表每个人的能力,一个比赛活动要求参赛团队的最低能力值为N,每个团队可以由1人或2人组成,且1个人只能参加1个团队,请计算出最多可以派出多少支符合要求的团队? 输入描述: 5 3 1 5 7 9 8 第一行数组代表总人数,范围[1,500000] 第二行数组代表每个人的能…

[Rust] 快速基础入门教程

Rust 是一个无运行时的强类型语言, 包含很多高级特性, 例如泛型, lambda 等. 又因为其独有的所有权机制, 所以 Rust 的内存安全要比 C 完善许多. 风格 Rust 与 C 族语言不一样, C 族语言在定义方法, 变量时, 都是 类型 关键字 这样的格式, 也就是类型前置. Rust 采用的是类型后…

如何使用Go与MQTT进行通信

简介 本文介绍了如何使用 Go 编程语言与 MQTT(Message Queuing Telemetry Transport)进行通信。MQTT 是一种轻量级的消息传输协议,广泛应用于物联网和实时通信场景。通过本文的指导,您将学习如何使用 Go 语言创建 MQTT 客户端&am…

MySQL更改用户权限

如果之前已经为一个用户设置了 localhost 作为主机名,并且现在想将其改为 %(表示允许该用户从任何主机连接),可以按照以下步骤操作: 登录 MySQL: 首先,使用 root 用户或其他具有管理员权限的用户…

【哈希】字母异位词分组

力扣 class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String, List<String>> map new HashMap<>();for (String str : strs) {String hash getHash(str);map.computeIfAbsent(hash, k -> new ArrayList<…

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

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

PTA:过滤重复整数

题干 本题要求实现一个函数&#xff0c;删去给定整数数组中的重复整数&#xff0c;不重复的元素放于原数组中&#xff0c;不要改变原来的次序。该函数返回不重复的整数个数。 函数接口定义&#xff1a; 函数原型为&#xff1a; int Unique_Int ( int a[ ], int n ); 其中 a[ …

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

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

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

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

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

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

循环神经网络训练情感分析

文章目录 1 循环神经网络训练情感分析2 完整代码3 代码详解 1 循环神经网络训练情感分析 下面介绍如何使用长短记忆模型&#xff08;LSTM&#xff09;处理情感分类LSTM模型是循环神经网络的一种&#xff0c;按照时间顺序&#xff0c;把信息进行有效的整合&#xff0c;有的信息…

第16章:随堂复习与企业真题(网络编程)

第16章&#xff1a;随堂复习与企业真题&#xff08;网络编程&#xff09; 一、随堂复习 1. 网络编程概述 计算机网络&#xff1a;略网络编程的目的&#xff1a;直接或间接地通过网络协议与其它计算机实现数据交换&#xff0c;进行通讯。需要解决的三个问题&#xff1a; 问题1…

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

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

Normalizing Kalman Filters for Multivariate Time Series Analysis

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

linux上 more 和 cat 区别

在Linux系统中&#xff0c;​more​和 ​cat​都是用于显示文本文件内容的命令&#xff0c;但它们之间有一些区别。 ​​cat​命令&#xff08;concatenate&#xff09;通常用于以原始形式显示文件的内容&#xff0c;并且会一次性输出整个文件的内容到终端。例如&#xff1a; …

【Python】 Python 中如何实现图片合并及生成长图片文件?

在 Python 中如何实现图片合并及生成长图片文件&#xff1f; 在 Python 中&#xff0c;你可以使用 PIL (Python Imaging Library) 来合并图片。以下是一个简单的示例&#xff0c;展示如何将多个图片文件合并成一个长图片文件&#xff1a; python from PIL import Image # 打开…

华为OD机试真题-万能字符单词拼写-2023年OD统一考试(C卷)

题目描述:有一个字符串数组words和一个字符串chars。 假如可以用chars中的字母拼写出words中的某个“单词”(字符串),那么我们就认为你掌握了这个单词。 words的字符仅由 a-z 英文小写字母组成。 例如: abc chars 由 a-z 英文小写字母和 “?”组成。其中英文问号“?”表示…