【Hadoop】Zookeeper、HBase、Sqoop

Zookeeper

概述

Zookeeper可以监视HDFS系统的name node和data node,HBase也极度依赖zookeeper,因为zookeeper维护了HBase的源数据以及监控所有region server的健康状态,如果region server宕机会通知master 。它也可以避免脑裂(只有一个master大脑)。啊不免,通过分布式锁实现数据的一致性,YARN资源管理也依赖zookeeper,它为YARNresource manager提供节点选举服务。他还管理进入的消息队列。

总的来说,它可以实现任意节点更改,每个节点生效;以及通过分布式锁实现数据的一致性;避免脑裂,保证只出现一个HBase master;并且它保存了HBase的源数据,我要查询zookeeper就能知道当前哪些HBase的region server是活着的;通过watch机制监听zookeeper上某个数据节点的变化,当被监听的节点有变化时,它会主动推送通知给所有监听的客户端。

正是因为zookeeper如此强大,才能构建起如此稳定高效的分布式数据处理平台

特征:

保证系统一致性--为客户展示统一视图

可靠性--如果消息被所有服务器接受,会被所有服务器接受

实时性--a机子写入不会立刻在b展示出来

等待无关--执行快的不等慢的

原子性--成功或失败,没有中间状态

顺序性--

每个节点都装zookeeper,每个节点都有server,运行一个quorumpeermain,每次启动选择一个server作为leader(节点是单数以应用选举机制)。

Zookeeper角色

扩展时增加server,投票延迟大,影响性能,所以增加了observer。

应用场景:

在任何节点修改配置文件,其他节点会同步

心跳检测,namenode需要知道datanode状态,jobtracker需要知道tasktracker的状态

HBase--nosql数据库(not only sql)

表的特点:

列可以动态增加

面向列存储和管理

空列不占用空间,设计可以稀疏

每个单元数据可以有多个版

数据类型都是字符串

行存储和列存储的对比

传统的关系型数据库是按行存储,比如mysql、oracle, 它的特点就是把一整行的数据放在一起,它在物理上是相邻的。这非常有利于需要频繁的增删、改查和读取整行数据的操作,比如你要查询一个用户的所有信息。那么你就只需要找到这一行的位置,效率很高。

想象一下你的表有100列,但是呢,你只需要查询所有人的年龄,这一列如果是按行存储,你必须要把每一行的所有的100列数据都从磁盘读出来,然后从中提取出年龄的列,这产生了非常大的I/O浪费,速度非常慢,但是列存储的话可以直接定位到年龄,这一列所在的物理存储块,跳过了其他99列不相关的数据,I/O效率很高

并且同一列的数据,它一般有相同的呃,这个数据类型呃,所以你对这一列保存的时候可以压缩,这样就节省了那个磁盘占用的空间。并且HBase它的数据是按列族存储的,可以在运行的时候动态的添加新的列,这样你就不用像关系型数据库那样执行alter table的命令。

逻辑存储

column family:列族

column:列

单元格:由 {RowKey, Column Family:Column Qualifier, Timestamp}唯一确定的存储单元,里面存储着具体的值(Value)

物理存储

横向切分不同的region,region太大会自动分裂,region是HBase的基本单位。

一个region被纵向切分成store,一个列族对应一个store。store中的memstore表是数据结构,通常是跳表,Hfile是实际存储文件。

HBase架构

四个基本组件:

Client:访问HBase

Zookeeper:master和regionserver启动时会向zookeeper注册。保证只有一个master(防止脑裂),监控region server的心跳并实时通知master,存储region的寻址入口(实现了随机存取),存储HBase的元数据。

Master:给region server分配region,负责负载均衡。监听region server 的心跳。

region server:处理客户端的读写请求

zookeeper保证容错性:

Master崩溃,zookeeper重新选一个master,region server崩溃,zookeeper能监听到,然后master重新分配任务。

适用场景

如果你需要处理海量数据、需要高可扩展性、并且数据模型相对简单(不需要复杂的JOIN操作和事务),那么HBase是一个非常好的选择。如果你需要处理复杂的关系、需要严格的ACID原子性、一致性、隔离性、持久性事务和强大的SQL查询能力,那么关系型数据库仍然是首选。

随机存取、大数据下高读写,操作简单的查询使用HBase

Sqoop  

sql- to-hadoop ,传统关系型数据库到Hadoop的桥梁。将关系型数据库数据导入到HDFS、Hive、HBase。将数据库同步问题转换为map reduce作业。

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

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

相关文章

MLIR - Linalg

简介 Linalg是MLIR中的HHO(High-level Hierarchical Optimization)中的核心方言,设计用于支持如下的核心Transformation: Progressive Buffer Allocation.Parametric Tiling.Promotion to Temporary Buffer in Fast Memory.Tile…

SQL相关知识 CTF SQL注入做题方法总结

SQL MySQL基础 MySQL基本操作 1.查询本地所有数据库: show databases; 2.使用数据库:use 数据库名; 3.查看当前使用的数据库名:select database(); 4.查看当前使用的数据库的所有表:show tables; 5.查看数据库版本:sel…

魔方的使用

三阶魔方入门玩法教程 【简单实用11个公式】三阶魔方分步还原公式图解 【初级篇】三阶魔方入门教程 1、底棱归位(底十字对中层) 先顶黄白十字,旋转对齐中层后,R’2翻到底层 2、底角归位 上右-前-》右下 :URU’R’…

新手友好!剪映:开启你的视频剪辑之旅!(国际版)

一.软件介绍 剪映(CapCut)是一款由​​抖音旗下深圳市脸萌科技有限公司​​开发的全功能视频编辑软件,自2019年5月上线以来,因其简单易用且功能强大,受到了大量用户的喜爱。 1.功能和作用: 功能类别主要…

使用AI大模型Seed1.5-VL精准识别开车接打电话等交通违法行为

原文链接 本案例根据用户上传的电子警察或道路卡口抓拍的图片,使用豆包全新视觉深度思考模型Doubao-1.5-thinking-vision-pro,精准识别车牌号码、车牌颜色、车身颜色、车辆品牌等车辆信息,同时通过算法精确识别开车打电话、未系安全带等交通违法行为,具有极强的实用价值。…

骑行商城怎么开发

随着骑行运动普及与数字化消费升级,“骑行中控数据变现积分商城”模式成为新趋势。以下从核心步骤、关键要点、风险规避三方面,详解如何搭建该类型小程序。一、明确核心架构与需求定位在开发前需确定小程序的核心逻辑与目标用户,避免功能冗余…

揭秘表格推理的“思维革命”:RoT模型介绍

–– RoT: Enhancing Table Reasoning with Iterative Row-Wise Traversals今天,我想和大家探讨一个我们每天都会遇到,却可能从未深思过其背后奥秘的事物——表格。从公司的财务报表、医疗数据,到体育赛事统计,表格无处不在&#…

【C++】AVL树(详解)

文章目录 上文链接一、什么是 AVL 树二、AVL 树的实现1. 引入平衡因子2. 整体结构3. AVL 树中的插入操作(1) 插入节点(2) 更新平衡因子更新规则停止更新条件 4. 旋转(1) 旋转的目的(2) 右单旋(3) 左单旋(4) 左右双旋(5) 右左双旋 5. AVL 树的查找与删除6. AVL 树的平衡检测 三、…

shell编程-核心变量知识

文章目录shell简介如何学好shell初识shell什么是shell执行shell脚本常用的三种方式shell变量变量相关的配置文件变量的定义shell核心位置变量shell简介 为什么学习shell,shell的作用 面试题:给你一台主机你的操作流程是什么? 1.自动化安装操…

微电网调度(风、光、储能、电网交互)(MatlabPython代码实现)

赠读者:正在埋头科研的你,或许有时你会困惑于 “投入” 与 “回报” 的时差,会疲惫于 “未知” 与 “确定” 的博弈,但请记得:那些看似 “无用” 的试错,都是在为突破搭建阶梯;那些独自深耕的日…

CentOS 7 环境下安装 JDK 1.8 及解决 wget 命令缺失问题

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] 📱个人微信&a…

psql介绍(PostgreSQL命令行工具)(pgAdmin内置、DBeaver、Azure Data Studio)数据库命令行工具

文章目录**1. psql 的核心功能**- **交互式操作**:通过命令行直接与 PostgreSQL 服务器交互,执行 SQL 查询和管理命令。- **元命令支持**:提供以 \ 开头的特殊命令(如 \l、\d、\connect),用于管理数据库对象…

设计模式9-责任链模式

定义 Chain of Responsibility Pattern:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链, 并沿着这条链传递该请求,直到有对象处理它为止。 优势 解耦请求发送者与接收者&#…

使用JAVA制作minecraft红石和创造模式插件

这一次主要是红石和创造模式的新加入由于代码较长,所以呃这一段代码就直接劳烦各位呃插进之前的3.0版本里面!!!!!!!!!import org.lwjgl.*; import org.lwjgl.glfw.*; import org.lwjgl.opengl.*; import org.lwjgl.system.*;import java.nio.*; import java.util.*;…

Git 版本管理核心实践与问题解决手册

Git 的核心价值版本控制:完整记录所有修改历史,支持随时回退到任意历史版本团队协作:允许多开发者同时工作,有效避免代码冲突和覆盖问题高效分支:通过分支隔离功能开发与稳定主线,保持项目稳定性变更追溯&a…

hadoop安欣医院挂号看诊管理系统(代码+数据库+LW)

摘 要 随着信息技术的飞速发展,医疗服务行业正逐步向信息化、智能化转型。安欣医院挂号看诊管理系统正是基于这一背景开发的一款集挂号、看诊管理于一体的综合性系统。本系统采用Hadoop大数据处理技术,旨在提高医院挂号看诊的效率,优化医疗…

【PHP】数学/数字处理相关函数汇总,持续更新中~

目录 一、取整 二、向上取整 三、向下取整 四、四舍五入取整 五、四舍五入保留小数点 六、浮点数值 七、绝对值 八、生成随机数 九、数字格式化(以千位分割) 十、对除法结果取整 十一、返回除法的余数 十二、是否为数字或数字字符串 十三、…

防火墙技术(二):安全区域

安全区域和接口 默认情况下,报文在不同安全区域之间流动时受到控制,报文在同一个安全区域内流动时不受控制。但华为防火墙也支持对同一个安全区域内流动的报文控制,通过安全策略来实现防火墙通过接口来连接网络,将接口划分到安全区…

银河麒麟V10(Phytium,D2000/8 E8C, aarch64)开发Qt

搞了一台国产计算机,银河麒麟V10系统 首先查看系统构架 kylinkylin-pc:/data$ uname -m aarch64 是arm架构的,到 https://www.qt.io/download-qt-installer下载 qt-online-installer-linux-arm64-4.10.0.run

腾讯云 MCP 场景征集计划 | 你的方案,正在定义开发新范式

开发者的进阶正在从“写代码”走向“做场景”。MCP(模型上下文协议)让你以更低心智负担撬动云AI能力,把时间花在真正的业务价值上。腾讯云开发者MCP广场 正式启动「腾讯云 MCP 场景征集计划」,寻找最懂 MCP 的你:将真实…