本文已参与「新人创作礼」活动,一起开启掘金创作之路。
什么是Hadoop?
狭义上讲
Hadoop是Apache软件基金会的一款开源,Java语言实现的软件。
允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理。
广义上讲
Hadoop是指围绕Hadoop打造的生态圈
Hadoop生态圈的其他软件底层都会直接或间接的引用Hadoop
编辑
Hadoop的核心组件
编辑
YARN:解决资源任务调度,资源是指cpu,内存等,解决一台机器运行多个程序如何分配资源以及整个集群多个程序跑该怎么分配
Hadoop的发展历史
Hadoop起源于一个目标为构建一个大型网络搜索引擎的项目,在项目中遇到了瓶颈:如何解决海量的存储和计算索引的问题。
发展至今,Hadoop中的HDFS和YARN都处于Hadoop生态圈的核心地位,但是MapReduce出现很多弊端,一线企业不再用MapReduce进行编程处理,但很多软件底层依然用MapReduce引擎。
Hadoop的优点
- 有很强的扩容能力:Hadoop不是单机软件,而是多台机器组成的分布式软件,改变机器的数量时很灵活,当业务量小时可以用小集群,业务量大时用大集群。
- 成本低:分布式集群的机器可以是普通的电脑,不需要高计算性能的,因为Hadoop考虑的不是单机能力,而是集群的整体能力
- 效率高:数据分布在不同机器上,计算也可以在不同计算机上进行。
- 可靠性高:能自动维护数据的多份复制,并且能在任务失败后能自动重新部署,计算任务。Hadoop按位存储和处理数据的能力让人信赖
- Hadoop能成功是得益于他的通用性(各行各业都可用,不跟具体业务挂钩)和简单易操作
Hadoop的发行版本
- 开源社区版:即官方发行版本,更新迭代快,但是兼容稳定性差。
- 商业发行版:稳定兼容,但是收费更新慢。
Hadoop变迁
- Hadoop 1.0
HDFS(分布式文件存储)
MapReduce(资源管理和分布式数据处理)
- Hadoop 2.0
HDFS(分布式文件存储)
MapReduce(分布式数据处理)
YARN(集群资源管理,任务调度)
- Hadoop3.0,着重对Hadoop2.0的性能优化
编辑
\