前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据|Hadoop简介及两大功能三大核心组件(二)

大数据|Hadoop简介及两大功能三大核心组件(二)

作者头像
黄小怪
发布2018-05-21 16:15:33
9.8K0
发布2018-05-21 16:15:33
举报
文章被收录于专栏:小怪聊职场小怪聊职场

一、为什么需要hadoop?

在数据量很大的情况下,单机的处理能力无法胜任,必须采用分布式集群的方式进行处理,而用分布式集群的方式处理数据,实现的复杂度呈级数增加。所以,在海量数据处理的需求下,一个通用的分布式数据处理技术框架能大大降低应用开发难点和减少工作量。

我们先来看这么一个例子:我们要从一个用户使用app的日志数据中统计每个用户搜索了哪些关键词,这个日志文件有21G大,而我们的一个服务器只有8G内存,很显然一台服务器无法干这活。那么我们的处理方案应该是这样,见图一:

图一:自己搭建一个集群

从图一我们知道,要顺利完成这么一个集群工作,它存在几个问题:

1)如何分发业务应用到集群的各台服务器上 2)设置好每台服务器的运算环境 3)业务逻辑要进行适应性的改造,需要一个专门的汇总程序来处理各台服务器的结果 4)任务的监控和容错,比如B服务器挂掉了就需要重新分配一个服务器去处理B服务器中的1/3数据 5)如何处理中间结果数据的缓存、调度和传输 等等...

要我们自己编写一个程序来处理以上的问题是极其复杂的,我曾经写过一个脚本完成“如何分发业务应用到集群的各台服务器上”这个问题,复杂度也是不小的。

而hadoop却可以帮助我们处理上面的所有问题,我们只需要编写我们的业务程序即可。

二、hadoop是什么?

hadoop是用于处理(运算分析)海量数据的技术平台,并且是采用分布式集群的方式。

图二:功能、核心组建、使用

hadoop有两大功能:

1)提供海量数据的存储服务。 2)提供分析海量数据框架及运行平台。 关键词为存储、分析海量数据和运行平台。

hadoop三大核心组件:

1)HDFS:hadoop分布式文件系统海量数据存储(集群服务)。 2)MapReduce:分布式运算框架(编程框架),海量数据运算分析。 3)Yarn:资源调度管理集群(可以理解为一个分布式的操作系统,管理和分配集群硬件资源)。 用MapReduce编写一个程序,到Yarn运行平台上去运行。

hadoop两大使用角度:

1)可以把hadoop理解为一个编程框架,类比struts、spring、mybatis,有着自己特定的api封装和用户编程规范,用户可借助这些api来实现数据处理逻辑。 2)从另一个角度,hadoop可以理解为一个提供服务的软件,类比数据库服务的oracle/mysql、索引服务solr、缓存服务redis,用户程序通过客户端向hadoop集群请求服务来实现特定的功能。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.10.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档