Hadoop相关技术简介(持续更新)

一、Hbase

1、介绍

Hbase是高可靠、高性能、可伸缩、面向列的分布式存储数据库。

适用于大表的存储,读、写、访问速度快。

为MapReduce或Spark提供海量数据的实时处理能力。

利用ZooKeeper作为协同服务。

2、数据模型

Rowkey:行键,相当于关系数据库中的主键,行数据的唯一标识。

Column Family:CF,列族,一个表在水平方向上由一个或多个 CF 组成,一个 CF 由任意多个Column 组成,Column 为 CF 下的一个标签,所以 CF 支持动态扩展,而不需要预先定义 Column,且不同行之间,列的个数和类型都可以不同。

Timestamp:每次数据操作是对应的时间戳,该列是实现 Hbase 一行多版本的关键,一行数据按时间戳区分版本,每个 Cell 的多版本按时间戳倒序存储。

Region:可以理解为表分区,随着数据量的增多,Hbase 会根据设定好的配置阀值,自动分区。

Cell:HBase 最小的存储单元,由 Key 和 Value 组成。Key 由 row、column family、columnqualifier、timestamp、type、MVCC version 这6个字段组成。Value 就是对应存储的二进数据对象。

3、架构

Master:HMaster,RegionServer 的管理者,主要控制与 Region 相关的功能在 HA 模式下,会有主备 Master,主 Master 故障,备用 Master 会替代。

RegionServer:Hbase 的数据处理和计算单元,提供表数据的读写等服务,RegionServer 一般与HDFS 的 DataNode 部署在一起,实现数据存储功能。

Zookeeper:为 Hbase 各进程提供分布式协作服务。各 RegionServer 将自己的信息注册到Zookeeper,主 Master据此感知各个 RegionServer 的健康状态。

client:可以通俗的理解为客户端,client 与 Master 进行管理类通信,与 RegionServer 进行数据操作类通信。

HDFS:为 Hbase 提供高可靠的文件存储服务,Hbase 的数据全部存在 HDFS 中

二、Hive

1、简介

Hive 是建立在 Hadoop 上的数据仓库框架,提供大数据平台批处理计算能力,能够对结构化/半结构化数据进行批量分析汇总完成数据计算。

Hive 构建在关系型数据库结构之上,有着与 Oracle、MySQL 相似的数据结构,同时 Hive 还提供了类似 SQL 的 Hive Query Language 语言操作结构化数据,其基本原理是将 HQL 语言自动转换成 MapReduce 任务,从而完成对 Hadoop 集群中存储的海量数据进行查询和分析。

因此,一个习惯使用传统关系型数据库的操作者,也能无缝对接上Hive 的使用。

2、架构

HiveServer:一个集群内可部署多个 HiveServer,负荷分担。对外提供 Hive 数据库服务,将用户提交的 HQL 语句进行编译,解析成对应的 Yarn 任务或者 HDFS 操作,从而完成数据的提取、转换、分析。

MetaStore:一个集群内可部署多个 MetaStore,负荷分担。提供 Hive 的元数据服务,负责 Hive 表的结构和属性信息读、写、维护和修改。提供 Thrift 接口,供 HiveServer、Spark、WebHCat 等MetaStore 客户端来访问,操作元数据。

WebHCat:一个集群内可部署多个 WebHCat,负荷分担。提供 Rest 接口,通过 Rest 执行 Hive 命令,提交 MapReduce 任务。

Hive 客户端:包括人机交互命令行 Beeline、提供给 JDBC 应用的 JDBC 驱动、提供给 Python 应用的Python 驱动、提供给 Mapreduce 的 HCatalog 相关 JAR 包。

ZooKeeper 集群:Zookeeper 作为临时节点记录各 HiveServer 实例的 IP 地址列表,客户端驱动连接Zookeeper 获取该列表,并根据路由机制选取对应的 HiveServer 实例。

HDFS/HBase 集群:Hive 表数据存储在 HDFS 集群中。

MapReduce/Yarn 集群:Hive 的大部分数据操作依赖 MapReduce 提供分布式计算服务,HiveServer 的主要功能是将 HQL 语句转换成 MapReduce 任务,从而完成对海量数据的处理。

三、Zookeeper

1、简介

zookeeper 是高性能的分布式协作服务和分布式数据一致性解决方案。

zookeeper 可以保证分布式一致性特性。

zookeeper 的数据模型是一个树形节点,服务启动后,所有数据加载到内存中这样来提高服务器吞吐并减少延迟。

2、架构

ZooKeeper 集群中的节点分为三种角色:Leader、Follower 和 Observer通常来说,需要在集群中配置奇数个(2N+1)ZooKeeper 服务,至少(N+1)个投票才能成功的执行写操作。

Leader:ZK 集群的核心角色,通过选举产生,为客户端提供读写服务,也就是处理事务请求

Follower:集群状态的跟随者,参加选举,没有被选上就是这个角色,提供读取服务,也就是处理非事务请求,对于收到的事务请求会转发给 Leader 服务器

Observer:观察者角色,不参加选举,但是提供数据读取服务,提供读取服务,也就是处理非事务请求,对于收到的事务请求会转发给Leader服务器。

四、Kafka

Kafka 是用于构建实时数据管道和数据流的应用程序。

具有实时横向扩展、高吞吐量、支持大量堆积具有容错性和速度快等特点。

它是一个高性能分布式消息系统。

1、架构

生产者(Producer)将消息发布到 Kafka 主题(Topic),消费者(Consumer)订阅这些主题并消费这些消息。在 Kafka 集群上一个服务器称为一个Broker。对于每一个主题,Kafka 集群保留一个用于缩放、并行化和容错性的分区(Partition)。每个分区是一个有序、不可变的消息序列,并不断追加到提交日志文件。分区的消息每个也被赋值一个称为偏移顺序(Offset)的序列化编号。

消费者使用一个消费者组名称来标记自己,主题的每个消息被传递给每个订阅消费者组中的一个消费者。如果所有的消费者实例都属于同样的消费组,它们就像传统队列负载均衡方式工作。如果消费者实例都属于不同的消费组,则消息会被广播给所有消费者。

Broker

在 Kafka 集群上一个服务器称为一个 Broker。

Topic/主题

一个 Topic 就是一个类别或者一个可订阅的条目名称,也即一类消息。一个主题可以有多个分区,这些分区可以作为并行的一个单元。

Partition/分区

是一个有序的、不可变的消息序列,这个序列可以被连续地追加—个提交日志。在分区内的每条消息都有一个有序的 ID 号,这个 ID 号被称为偏移(Offset),这个偏移量可以唯一确定每条消息在分区内的位置。

Producer/生产者

向 Kafka 的主题发布消息。

Consumer/消费者

向 Topic 订阅,并且接收发布到这些 Topic 的消息。

2、特点

消息可靠性

高吞吐量

消息订阅-通知机制

可扩展性

五、Spark

(待更新)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容