继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

简述Hadoop各种部署方式及学习路线

2018-10-16 14:13:295666浏览

酷田

3实战 · 10手记 · 3推荐
TA的实战

Hadoop是一个由Apache基金会所开发的分布式系统的基础架构;

Hadoop的核心就是HDFS和MapReduce,HDFS为海量数据的持久化存储提供了一个分布式环境,MapReduce则是在HDFS的基础之上对海量数据进行计算;需要特别声明的是:MapReduce既是一个计算框架,也是一种编程思想,这种框架为海量数据分布式计算提供了可能性,编程思想则是实现这种计算的思路和灵魂。

HDFS自身设计的初衷就是部署在廉价的机器上的,因而必须提供容错性,因此HDFS自身就有高可用机制,可以对失效的节点的数据自动恢复,可以失效的节点数依赖于副本的设定

学习Hadoop应该首先了解Hadoop的各种部署方式,并明白各种部署方式的场景和作用,部署部署目的,而是在部署的过程中学习各个组件的功能、各个组件是如何协调的、如何进行基础的故障排错。

这篇手记会给介绍几种常见的部署方式,后续手记会介绍详细的部署和安装过程

1、本地模式

     所谓本地模式,就是在单台服务器上进行开发和调试,这种模式不会使用HDFS,而是使用本地文件系统,Hadoop不会启动NameNode、DataNode、JobTracker和TaskTracker等服务进程,同一进程提供了所有的服务;该模式仅用于开发和调试,通常用于调试MapReduce程序逻辑是否正确。

 2、伪分布式模式

      伪分布式模式下,Hadoop的所有服务进程会一单独的守护进程运行,但全部运行在同一物理主机上,并不是真正的分布式,只是用来模拟小型集群。

      启动的进程包括NameNode、DataNode、JobTracker和TaskTracker,可以通过jps命令查看;通常也是用于开发和调试

3、完全分布式模式

     生产环境中,通常都是使用这种模式进行安装和部署。

     该模式下,通常由几十上百台主机组成集群,规划在一些主机上运行HDFS,在一些主机上运行MapReduce,充分利用所有主机的存储和计算能力;

     启动的进程包括NameNode、DataNode、JobTracker和TaskTracker,可以通过jps命令查看;但这些进程分布在不同的主机上,具体运行在那台主机上,由我们规划决定

4、HDFS HA

     该模式是建立在完全分布式模式之上的,在完全分布式模型中,HDFS中DataNode是自身保证数据可靠性的,但所有的文件元数据和inode信息都是存储在NameNode的内存中的,因此必须为NameNode提供高可用机制,这在Hadoop 2.X版本中已得到解决;

     大家了解HDFS HA就是为高可用NameNode的即可

5、Yarn HA

      在Hadoop 1.X中任何分配和任务执行分别为JobTracker和TaskTracker,在2,X中开始使用ResourceManager和NodeManager来替换了,YARN也是一个计算框架,可以运行在MapReduce之上;NodeManager自身提供了失败后恢复机制,失败了可以再启动一个,但ResourceManager只有一个,因此必须为其设置高可用机制

      YARN HA高可用,指的就是高可用ResourceManager进程

6、HDFS Federation

     在超大集群规模的Hadoop环境中,NameNode自身会成为性能瓶颈,海量数据的元数据信息保存在但节点上,难以保证性能,因此我们需要将单个NameNode进行拆分,分成多个NameNode,但每个NameNode存储的元数据信息只是所有数据的一部分,相当于对单个NameNode进行了数据拆分

     同样的,拆分之后我们也需要对每个NameNode做高可用设计

针对上述每一种安装和部署方式,在后续手记中,会有详细的安装和原理分析教程;

说明:本地模式很少使用,即使学习一般也是从伪分布式集群开始,因此我们的安装和配置教程也会从伪分布式开始,敬请关注

················································································································

欢迎关注课程:
企业级开源四层负载均衡解决方案--LVS


打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP

热门评论

学习了老师的shell课程,收获很大。看了老师这篇手记有个想法:老师能不能出一门hadoop运维的课程?也想跟着老师学习hadoop运维相关技术。

查看全部评论