HDFS原理与应用
这是我参与「第四届青训营 」笔记创作活动的第1天
1、HDFS原理与应用
1.1 HDFS: Hadoop Distributed File System
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储
大数据术语名词解释
- Spark
Apache软件基金会最重要的三大分布式计算系统开源项目:Hadoop、Spark、Storm。
Spark作为大数据计算平台的后起之秀,在2014年打破了Hadoop保持的基准排序(Sort Benchmark)纪录,使用206个节点在23分钟的时间里完成了100TB数据的排序,而Hadoop则是使用2000个节点在72分钟的时间里完成同样数据的排序。
- Flink
Flink是一个分布式计算框架。
Flink可以搭建廉价机群,快速处理任意规模的数据。
- Kafka
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
- OLAP/OLTP
OLTP( On-Line Transaction Processing):联机事务处理,典型代表是关系型数据库(mysql),它的数据存储在服务器本地的文件里
OLAP(On-Line Analytical Processing):联机分析处理,OLAP型数据库的典型代表是分布式文件系统(hive),它的数据存储在HDFS集群里
- Data warehouse: 数据仓库 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
关键设计
分布式存储系统基本概念
- 容错能力
- 一致性模型:保证容错,数据要多副本存放,保证多个数据副本内容都是一致的;
- 可扩展性:加节点;
- 节点体系:主从模式/对等模型,必须保证高可用;
- 数据放置:NameNode决定数据放在哪些节点;
- 单机存储引擎:数据需要落盘持久化,根据系统特点如何高效存取硬盘数据。
课程总结
使用HDFS优势场景: 1. HDFS文件系统可存储超大文件
HDFS文件的大小可以大于网络中任意一个磁盘的容量,文件的所有块并不需要存储在一个磁盘上,因此可以利用集群上任意一个磁盘进行存储,由于具备这种分布式存储的逻辑,所以可以存储超大的文件。
2. 一次写入,多次读取(流式数据访问)
一个文件经过创建、写入和关闭之后就不需要改变,这个假设简化了数据一致性的问题,同时提高数据访问的吞吐量。
3.运行在普通廉价的机器上
Hadoop的设计对硬件要求低,无需昂贵的高可用性机器上,因为在HDFS设计中充分考虑到了数据的可靠性、安全性和高可用性。