02数仓平台Zookeeper

news2024/12/28 11:09:44

概述

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.coloradmin.cn/o/1277438.html

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

相关文章

Dart编程基础 - 一种新的编程语言

Dart编程基础 – 一种新的编程语言 Dart Programming Essentials - A New Type of Programming Language By JacksonML Dart is a client-optimized language for fast apps on any platform From dart.dev 在1999年之前,和我一样对计算机技术感兴趣的伙伴们&…

高级算法设计与分析练习1-10

文章目录 7-1 锦标赛7-2 选我啊!7-3 朋友圈7-4 最短路径7-5 ICPC保定站7-6 填数字7-7 Werewolf7-8 球队“食物链”7-9 代码排版7-10 至多删三个字符 7-1 锦标赛 HBU有2 n名ACM选手,编号依次为1−2 n。他们现在要进行一场程序设计比赛,这个比…

规则引擎专题---1、什么是规则引擎

什么是规则引擎,为了更易大家理解,我们这边先抛出一个问题。 问题 现有一个在线申请信用卡的业务场景,用户需要录入个人信息,如下图所示: 通过上图可以看到,用户录入的个人信息包括姓名、性别、年龄、学…

基于51单片机的交通灯_可调时间_夜间+紧急模式

51单片机交通灯 1 讲解视频:2 功能要求3 仿真图:4 原理图PCB5 实物图6 程序设计:7 设计报告8 资料清单(提供资料清单所有文件):设计资料下载链接: 51单片机简易交通灯_可调时间_夜间紧急 仿真代…

三、Linux高级命令

目录 1、重定向命令 1.1 重定向 > 1.2 重定向 >> 该章节的所有操作都在/export/data/shell目录进行,请提前创建该目录。 mkdir -p /export/data/ 1、重定向命令 1.1 重定向 > Linux 允许将命令执行结果重定向到一个文件,本应显示在…

「Verilog学习笔记」自动贩售机1

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 自动贩售机中可能存在的几种金额:0,0.5,1,1.5,2,2.5,3。然后直接将其作为状态机的几种状…

HTTP 基本概念(计算机网络)

一、HTTP 是什么? HTTP(HyperText Transfer Protocol) :超文本传输协议。 HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。 「HTTP 是用于从互联网服务器传输超文本到本地浏览器的协议…

接口测试工具:Jmeter详解

安装 使用JMeter的前提需要安装JDK,需要JDK1.7以上版本 目前在用的是JMeter5.2版本,大家可自行下载解压使用 运行 进入解压路径如E: \apache-jmeter-5.2\bin,双击jmeter.bat启动运行 启动后默认为英文版本,可通过Options – C…

仿真的整体框架和类图设计

之前的写的模拟代码没有模块,没有对象,写的逻辑结构也很混乱。我花了些时间进行整理,首先所有的类如下图 在管理类中有统一的管理类的接口 ,提供所有管理类的虚拟初始化和关闭方法 然后事件的管理类 我希望在这个类中管理所有的脉…

匿名结构体类型、结构体的自引用、结构体的内存对齐以及结构体传参

文章目录 🚀前言🚀结构体✈️结构体类型的声明✈️结构体变量的创建与初始化✈️结构体类型的特殊声明✈️结构体的自引用✈️结构体的内存对齐🚁修改默认对齐数 ✈️结构体传参 🚀前言 在C语言中有着各种数据类型,这…

服务注册发现 配置中心 springcloud alibaba nacos

文章目录 0100 系统环境0200 nacos安装0201 下载0202 安装 0300 工程说明0301 结构说明0302 运行效果 0400 代码说明0401 服务提供者(Provider Service)0402 服务消费者(Consumer Service)服务提供者SDK(Provider Serv…

应用商店优化之利用季节性提高应用曝光

在应用商店中利用季节性优化,是提高应用和游戏的曝光度以及应用商店转化率的最有效策略之一。 1、季节性的影响。 用户消费来自许多不同渠道的新闻和信息,这会影响他们做出决策的方式。比如在节日期间,当用户寻找购物类型的应用时&#xff0…

springboot数据格式验证——自定义日期格式验证及list验证

我们在工作中经常需要对日期格式进行定义,如果客户端传来的日期字符串不符合要求,那么根本无法保存,但是已有的注解并没有日期格式的验证,那我们就自己实现一个 一、自定义日期格式验证的注解DateFormat import javax.validatio…

Linux--初识和基本的指令(3)

目录 1.前言 1.指令 1.1 cat指令 1.2 echo指令 1.3 more 指令 1.4 less指令 1.5 什么时候使用less和more 1.6 head指令 1.7 tail指令 1.8 wc指令 1.9 与时间相关的指令 1.9.1 date指令 1.9.2 cal指令 1.10 16.find指令:(灰常重要&#x…

熬夜会秃头——beta冲刺Day7

这个作业属于哪个课程2301-计算机学院-软件工程社区-CSDN社区云这个作业要求在哪里团队作业—beta冲刺事后诸葛亮-CSDN社区这个作业的目标记录beta冲刺Day7团队名称熬夜会秃头团队置顶集合随笔链接熬夜会秃头——Beta冲刺置顶随笔-CSDN社区 一、团队成员会议总结 1、成员工作…

蓝桥杯算法心得——小郑躲太阳(思维推导)

大家好,我是晴天学长,一道与平时的题型截然不同的题型,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .小郑躲太阳 问题描述 小郑一觉醒来发现起晚啦!现在需要从家里飞速前往公司…

服装行业中小企业零售数字化转型的工作目标和主要实施路径|徐礼昭

目标1:实现“人、货、场”的在线化和经营数字化 实施路径:中小企业可以选择商派的微信小程序商城系统,结合导购助手小程序,实现业务在线化,导购在线化,通过微信公众号、企微社群和视频号,开展私…

synchronized和volatile的区别是什么?

synchronized和volatile是Java中的两个关键词,分别用于实现线程同步和线程间的可见性。 synchronized用于实现线程之间的互斥同步,即同一时刻只能有一个线程访问被synchronized修饰的代码块或方法,其他线程需要等待。synchronized确保了线程…

在Android上搭建一个NDK项目

首先New Project,选择Native C,点击Next。 填入项目名称和包名,点击Next。 这里我们选择Cmake默认的C版本。 创建好的项目目录,里面比我们正常的Android项目多了一个cpp目录 打开MainActivity。里面定义了一个jni方法stringFromJN…

SOCKET、TCP、HTTP之间的区别与联系

SOCKET、TCP、HTTP之间的区别与联系 一、 Socket 1、什么是socket2、为什么需要socket3、建立socket连接 二、HTTP(基于TCP) 1、HTTP的概念2、HTTP连接的特点 连接请求:一次连接连接请求:短连接(socket是长连接) 三、TCP/IP协议簇 四、HTTP、Socket…