文章目录
前言
很久没有在csdn写过文章了,现在已经彻底从Java开发转向大数据开发了。今天就介绍一下就算不学大数据,大家也听过的东西——Hadoop
一、Hadoop是什么?
百度百科给出的解释比较多,我就稍微简述一下。Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。
充分利用集群的威力进行高速运算和存储。
但我们时常我们所有的Hadoop并非Hadoop本身这一个框架吗,而是Hadoop生态圈,里面包含有hive,zookeeper,kafka,flume,hbase等等众多大数据的组件。
二、Hadoop的优势
- 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元
素或存储出现故障,也不会导致数据的丢失。 - 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处
理速度。 - 高容错性:能够自动将失败的任务重新分配。
三、Hadoop的组成
1.hdfs(Hadoop Distributed File System)
分布式文件系统。主要架构:
- NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
- DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
- Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份。
该处使用的url网络请求的数据。
2.yarn(Yet Another Resource Negotiator)
Hadoop 的资源管理器。
主要架构:
- ResourceManager(RM):管理整个集群资源
- NodeManager(N M):管理单个节点服务器资源
- ApplicationMaster(AM):管理单个任务运行的
- Container:容器,相当一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。
3.MapReduce
- Map 阶段并行处理输入数据
- Reduce 阶段对 Map 结果进行汇总
总结
本文章只是对Hadoop的总体介绍,并未涉及到任何技术相关的知识,所以只要看后知道有个印象即可。最后提一句,Hadoop1.x的时候没有yarn,yarn在Hadoop2.x之后才加入,原本Hadoop1.x的资源调度也是由mapreduce进行的。