大数据及 Hadoop 简介
本文最后更新于:2 年前
大数据
常用名词
数据挖掘:data mining。简单来说,就是从海量数据中挖掘出有用的信息。
知识发现:从信息中获取有用的知识,筛选掉无用的信息。
数据清洗:从原始数据中清洗掉无用的数据,保留有效数据。
大数据:BigData ,大量数据,GB、TB。
1Byte = 8bit
1KB = 1024Byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1EB = 1024PB
1ZB = 1024EB
大数据特点(5V)
- 大量(volume)
- 高速(velocity)
- 多样(variety)
- 价值密度低(value)
- 真实性(veracity)
Hadoop
概述
Hadoop 是 Apache 基金会开源的分布式的平台,基于java语言开发,部署在廉价的计算机上面,可以存储和计算单台计算机存储和计算不了的大量数据的框架。
Hadoop 的核心:分布式文件系统(HDFS)、分布式计算框架(MapReduce)。HDFS 为海量的数据提供了存储,而 MApReduce 则为海量的数据提供了计算。
发展简史
Hadoop 起源于 Apache Nutch 项目,始于2002年,是 Apache Lucene(文本搜索库)的子项目之一 ,由受到谷歌论文启发的Doug Cutting等人实现。
网页数据存储
2003年,谷歌发表了《GFS》论文, 开源实现。
2004年NDFS(HDFS前身) 。
索引 — 计算
2004年,谷歌发表了《MapReduce》论文。
2005年,开源实现了 MapReduce。
2006年,NDFS、MapReduce 独立出来,Lucenne 子项目,Hadoop 。
2008年,Hadoop 成为了 Apache 下的顶级项目。
Hadoop 特性
对大量数据进行分布式处理的软件框架。
- 高可靠性。冗余数据存储方式
- 高效性
- 高扩展性
- 成本低
- 高容错性
- 支持多种编程
运行方式
三种不同模式:
单机模式(standalone)
不能使用 HDFS ,一般用于 MapReduce 进行测试、调试,用于开发阶段。
伪分布式模式
在一台主机模拟多台主机,此模式下,可以使用 HDFS ,一般用于开发测试 Hadoop 程序是否正确。
完全分布式模式
真正的生产环境。
hadoop 组件
Hadoop生态当中的诸多组件有HDFS、MapReduce、Yarn、HBase、Kafka、Hive、ZooKeeper。
- HDFS是一个分布式文件系统。有着高容错性的特点,并且设计用来部署在低廉的硬件上,适合那些有着超大数据集的应用程序。
- MapReduce是一种编程模型,用于大规模数据集(>1tb)的并行运算。
- Yarn是一种Hadoop资源管理器,一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。
- HBase是一个开源的,基于列序模型的分布式数据库。
- Kafka一个开源流处理平台,可以通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时消息。
- Hive是基于Hadoop的一个工具,提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
- ZooKeeper是一个高效的,可扩展的协调系统,存储和协调关键共享状态。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!