Hadoop基础概念是什么

16次阅读
没有评论

本篇内容主要讲解“Hadoop 基础概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“Hadoop 基础概念是什么”吧!

  大数据为什么会兴起?没有大数据以前是怎么做的?这 2 个问题其实以我的经验回答不是很合适,但是既然提到,就仅从个人的经验出发来说下必要性。进入大数据行业第一节公司是一个移动 SDK 公司,主要是嵌入 SDK 通过展示广告、APP 推荐下载等来给开发者带来收入。当时的第一个项目是分析这些 SDK 一天的日志(apache 日志),对下载的每个 APP 按省份做一个排序。任务交给了 SDK 开发团队,具体的方案不清楚,但是一天的数据需要跑 10 小时以上(记忆模糊,4 年前文章提到过此事)。后来用 Hadoop,写了简单的 MR 处理,大概 10 多分钟就搞定了,这就是大数据存在的意义,也能从一个角度反应为什么会兴起。

    关于 Hadoop,首先必须要介绍下概念?现在有很多初学者,一上来就问 Datanode 是什么?Datanode 和 NodeManager 能不能在一台节点上?对于这种问题,我的回答都是“太小白,先看看书吧”。对于 Hadoop 的学习,很多人从 Cloudera Manager 或者 Ambari 开始,我个人非常不建议。我还是觉得实战前,先看看书,至少翻一本熟悉了以后,其他的可以边学边研究。而一开始就极度依赖这些工具,概念不清楚,至少会让人觉得不专业,不是认真学习的料子。

    版本和分支:
参考官方 wiki,https://wiki.apache.org/hadoop/Roadmap,目前 hadoop 主流分支有 3 条,分别是 hadoop 1.X、hadoop 2.X 和 hadoop 3.X。
Hadoop1.X:是从 hadoop 0.20 发展而来,我还记得 12 刚开始玩 hadoop 的时候就是 0.20.2,那时候在公司用的就是 cdh4u3,后来的公司升级到了 1.0,但是一直到 14 年离职,也都还是 1.X,没有升级到 2.x,另外朋友私下聊天,其实那个时候还是以 1.X 为主的,2.X 一般是新建集群才会使用。主要的原因就是因为升级中的风险,升级的详细过程董西城老师有文章详细介绍:http://dongxicheng.org/mapreduce-nextgen/hadoop-upgrade-to-version-2/
Hadoop 2.X:Hadoop2.0 除了 api 的改动,对外界最大的感知就是增加了 Yarn 作为 mapreduce 的调度系统,计算资源也从单一的 slot 改为了内存 /CPU 等资源,按 nodemanager 不同可以区别配置。此外 hadoop2.X 还解决了一些 1.X 中的大坑点,比如单点故障,提供了基于 QJM 和 NFS2 种不同的解决方案。
Hadoop3.X:当前资料不是很多,其中值得期待的就是实现了 Erasure Coding(纠删码),EC 的强大之一是可以将以往的 3 副本,减少为 1.5 副本,还能保证数据不会丢失,这一强大功能在云存储领域广泛应用。

后续的系列介绍中,我们选择的版本是 Hadoop2.X 中的,2.6.4

概念介绍:

HDFS:Hadoop Distributed File System 

NameNode:hdfs 主节点,不做实际存储主要管理 hdfs 的元数据信息、维护文件块和节点的对应关系以及维护用户对文件的修改信息。
 DataNode:hdfs 的工作节点,实际的数据处理和存储节点。
 SecondaryNameNode:辅助节点,协助 NameNode 合并 fsimage 和 edits 文件,主要是做 checkpoint 的工作,在 namenode 宕机是可以及时恢复。   CheckPoint Node: 和 Secondary NameNode 作用一样,只是因为 Secondary 名字容易混淆而添加,使用方法
 Backup Node:和 Secondary、CheckPoint 类似,提供 checkpoint 功能,但是会保留和 namenode 完全一致的信息
 

Yarn:

ResourceManager:主节点,处理客户端请求;管理 NodeManager 和 Application Master;管理资源的调度和分配

NodeManager:工作节点,单个节点的资源管理;处理来自 RM 和 AM 的命令

Application Master:数据切分;为 application 申请资源,分配任务;监控任务的运行

                   WebAppProxyServer:顾名思义,yarn web 页面上对 application 的代理,主要是出于安全考虑

                   JobHistoryServer:主要负责处理任务的日志信息

            介绍了概念,开头的问题,DataNode 和 NodeManager 能不能部署到同一个节点就显而易见了。答案是完全可以,而且这样会很好,前提是要看好机器的配置,做好划分。

到此,相信大家对“Hadoop 基础概念是什么”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!