文档章节

Hadoop 生态圈介绍

bochs
 bochs
发布于 2016/11/17 11:50
字数 1322
阅读 62
收藏 0

简介

Hadoop 是一个能够处理海量数据的分布式系统基础软件框架,理论上能够通过增加计算节点以处理无限增长的数据,由java写成。其作者是 Doug Cutting,得益于谷歌的Map/Reduce计算模型和GFS分布式文件系统,Hadoop实现了其核心组件HDFS和MapReducce。Hadoop 是目前世界上大数据行业的主流软件框架。其生态圈非常庞大,并且社区很活跃。Hadoop本身仅有hadoop-common + hdfs + mapreduce 组成,hadoop2.x以后增加了yarn体系。

hadoop 的集群模式

hadoop 集群,从细的方面来说,总共分为四种模式:

  1. Single Node Cluster,即伪分布式模式(单机模式)
  2. Full Distributed Cluster,即完全分布式集群模式
  3. HA Cluster,即高可用集群模式
  4. HA + Federation Cluster,即高可用联邦集群模式

每一种方式都有其特定的使用场景,但一般数据规模很大的企业,都会选择HA+Federation模式,下面简要地介绍一下每一种模式的情况:

  1. 单机模式,将hadoop安装在一台机器上,通过进程来模拟各主机节点的协作和运行,其可靠性、稳定性都是非常差的,并且具备糟糕的性能效率,没有团队会在生产环境使用它。那么它是否就没有用呢?也不是的,通常使用这种模式进行开发和调试工作。
  2. 完全分布式模式,将hadoop部署在至少两台机子上,数据块副本的数量通常也设置为2以上。该模式的集群,无论规模多大,只拥有1台Namenode节点,且也是唯一Active的工作节点。Namenode(简称NN)相当于hadoop文件系统的管家,对集群的所有文件访问和操作都经由NN统一协调管理。可想,当集群规模越来越庞大时,仅有一台NN,必定是不堪重负,那么它很容易就会挂掉,一旦挂掉,不仅集群立即瘫痪,还很容易造成数据丢失。另外,该模式通常ResourceManager(RM)也仅部署1台,ResourceManager是yarn的管家,主要管理任务的执行,例如MapReduce任务。与NN类似,当集群提交的作业过于繁重时,其同样面临超负载的问题。那么此模式是否也无用武之地呢?也不是的,视业务、资金等情况而定,因为该模式日后也可以安全升级成高可用模式。
  3. 高可用模式,分为NN的高可用和RM的高可用。在完全分布式的基础上,增加备用NN和RM节点。NN高可用,也就是集群里面会部署两台NN(最多也只能两台),以形成主备NN节点,达到高可用的目的。RM高可用与NN高可用类似,也是在集群里部署备用RM节点。不过此种模式下集群里面依然只有一台NN/RM处于Active工作状态,另一台则处于Standby的等待状态。当Active的NN/RM出现问题无法工作时,Standby的那台则立即无缝切入,继续保障集群正常运转。这种模式是很多企业都使用的,但是依然有缺陷。什么缺陷呢?虽然集群的可用性问题解决了,但是性能瓶颈依然存在——仅有一台NN/RM,由于无法横向扩展,其很可能会超负载运行。
  4. 高可用联邦模式,解决了单纯HA模式的性能瓶颈。单纯的HA模式NN和RM之间虽然配置了HA,但是依旧仅有一台NN或RM同时运行,这可能会导致了NN或RM的负载过重,从而造成整个集群的性能瓶颈。而联邦模式将整个HA集群再划分为两个以上的集群,不同的集群之间通过Federation进行连接,不同集群间可以共享数据节点,也可以不共享,可以互相访问和操作数据,也可以不。这样便做到了HA集群的横向扩展,从而移除了单纯HA模式同时仅有1台NN/RM工作所带来的性能瓶颈。Federation模式,相当于在多个集群之上又构建了一个集群层次,从数据访问的角度看,也可以简单的将其理解为一台路由器,而每一个HA集群则是单独的网络,不同网络间通过Federation路由器进行沟通。此模式是目前hadoop生态中最高的一种模式,适用于规模较大的企业。

组件体系

hadoop hdfs mapreduce yarn zookeeper hive hbase sqoop pig Impala dubbo kudu storm kafka flume elasticsearch elk mahout ambari avro cassandra chukwa tez

spark spark-streaming
spark-sql spark-MLlib

概念

hadoop hdfs mapreduce fsimage edits namenode-metadata yarn zookeeper Namenode Secondary-Namenode Datanode ResourceManager(JobTracker) NodeManager(TaskTracker) ApplicationManager ApplicationMaster Container JobHistoryServer JobClient JournalNode

hadoop1.x hadoop2.x HA federation

以上众多组件的概念介绍,有机会注意补充~

© 著作权归作者所有

bochs
粉丝 13
博文 10
码字总数 35381
作品 0
深圳
私信 提问
大数据怎样才能踏入进去?年薪60万大数据架构师教你如何入门!

1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力: 熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构; 学完此...

董黎明
2018/06/09
71
0
hadoop生态圈的详解

学习和使用hadoop有一年了,这里主要分享一下对hadoop整体上的理解,分门别类的介绍一下相关组件,最后提供了建议的学习路线,希望对hadoop的初学者有参考作用。 1. Hadoop核心件组有哪些? 广...

cpaqyx
2017/06/25
0
0
一张图看懂hadoop生态圈

好多朋友觉得,通过扁平的文章了解hadoop生态圈不是很直观。 所以我抽时间,把hadoop生态圈中的各部分通过架构图的形式,直观的整理了出来, 方便对hadoop不了解的朋友更直观的了解hadoop。 ...

隐姓埋名啊
2017/03/31
3.6K
4
(第1篇)什么是hadoop大数据?我又为什么要写这篇文章?

前言 这些天,有很多人咨询我大数据相关的一些信息,觉得大数据再未来会是一个朝阳行业,希望能尽早学会、入行,借这个机会,我决定写一下关于大数据的知识和我这些年的感悟。 点击链接 http...

I加加
2017/03/06
0
0
Hadoop专业解决方案-第一章 大数据和Hadoop生态圈

一、前言:   非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop生态圈小组已经翻译完成,在...

张子良
2014/01/21
580
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
42
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部