大数据基础(1)Hadoop背景与核心组件介绍

TangLu 未命名 2021-12-07 14684 0

Hadoop在2008年已经成为Apache的顶级项目。Hadoop在国内应用非常多,比如搜索引擎、电商产品推荐、天气预报等。Hadoop的思想来自于谷歌2003年的两篇论文《The Google File System》《Google Mapreduce》,它可以构建在多台廉价的机器上,数据会自动保存多个副本,提供了高容错性,能有效存储和处理TG甚至PB级海量数据,从中获取有用数据。但是Hadoop不太适合处理低延迟的数据访问,也不支持对数据进行随机修改,这些工作还是关系型数据库更适合。


一、Hadoop核心组件介绍

· HadoopHadoop集群的核心组件

· HDFS:Hadoop底层的分布式文件系统,用来存储Hadoop中的海量数据。HDFS由多个NameNode、DataNode、Secondary NameNode组成。NameNode管理整个文件系统的元数据信息;DataNode存放了文件数据,这些数据都拥有多个副本,并且可以自动检测数据副本是否缺失;Secondary NameNode则是对NameNode元数据进行监控备份。HDFS适合一次写入多次读取的场景,不支持对里面的文件进行修改,所以适合做数据分析不适合做网盘类应用

· YARN:用于管理集群中的资源分配,会根据任务需要进行内存、CPU资源的分配到合适的节点

· MapReduce:可以对海量数据进行离线计算,最终获取有价值的信息。它的计算原理就是将海量的数据打散(MAP阶段)进行计算,然后再整合(REDUCE阶段)

· Hive:通过SQL查询HDFS数据的工具,用于简化使用MapReduce进行工作的复杂度

· sqoop:Hadoop和其它关系型数据库之间实现数据抽取或导入的转换工具

· Flume:高可用、分布式的海量日志、文件采集工具,用于把大量文件或者日志存储于HDFS中

· Oozie:对Hadoop Mapreduce相关任务进行协调调度的组件,保证任务的有序进行

· Spark(开发向):专为大数据设计的计算引擎,基于内存工作,速度快,从功能上可以代替MapReduce工作,提供了包括Spark SQL、MLlib、GraphX、Spark Streaming(实时计算)等大量的库,但是发生异常后内存中的数据就会丢失

· HBase:NoSQL数据库

· ZooKeeper:分布式系统的可靠协调系统,注册中心

· Pig:大数据分析平台,为海量数据并行计算提供简易操作和编程接口

· HUE:网页管理工具

· Ambari或者CDH:安装、部署、配置Hadoop的管理系统,可以简化操作(推荐使用CDH)

· Storm实现实时计算,类似Spark Streaming


二、大数据库三大发行版本

1、Apache:是Hadoop生态最原始的官方发行版,对于入门学习来说较好

2、Cloudera:2008年成立的Cloudera是最早将Hadoop商用的公司,发布了CDH作为Apache官方版本的改进版,让用户在部署上更容易,整体兼容性、安全性、稳定性也都有所增强,国内用户数相对较多

3、Hortonworks:发布了国内大数据发行版ambari,用户相比Cloudera要少一点,文档较好

评论