前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hadoop概述

hadoop概述

作者头像
JKXQJ
发布2018-04-18 15:43:55
8950
发布2018-04-18 15:43:55
举报

一、简介

Hadoop是一个实现了MapReduce计算模式的能够对大量数据进行分布式处理的软件框架,是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop计算框架最核心的设计是HDFS(Hadoop Distributed File System)和MapReduce,HDFS单看全称就知道,实现了一个分布式的文件系统,MapReduce则是提供一个计算模型,基于分治策略。

二、Hadoop特性

第一,它是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。

其次,Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。

此外,Hadoop 依赖于社区服务器,因此它的成本比较低,且开源,任何人都可以使用。

hadoop是适合大数据的分布式存储和计算平台,作者Doug Cutting ,受google三篇大数据论文启发。

Google File System中文版

http://blog.bizcloudsoft.com/wp-content/uploads/Google-File-System%E4%B8%AD%E6%96%87%E7%89%88_1.0.pdf

Google MapReduce中文版

http://blog.bizcloudsoft.com/wp-content/uploads/Google-MapReduce%E4%B8%AD%E6%96%87%E7%89%88_1.0.pdf

Google Bigtable中文版

http://blog.bizcloudsoft.com/wp-content/uploads/Google-Bigtable%E4%B8%AD%E6%96%87%E7%89%88_1.0.pdf

Hadoop生态系统

三、Hadoop的核心项目

HDFS: hadoop distributed file system 分布式文件系统

MapReduce: 并行计算框架,基于文件系统进行数据计算。

四、HDFS的架构

主从结构

主节点只有一个:namenode,从节点有很多个:datanodes.

namenode负责接收用户操作请求,维护文件系统的目录结构。管理文件与block之间的关系,block与datanode之间的关系。

datanode负责存储文件,文件被分割成block存储在磁盘上。为保证数据安全,文件会有多个副本。

五、MapReduce

Map阶段:首先是读数据,数据来源可能是文本文件,表格,MySQL数据库。这些数据通常是成千上万的文件(叫做shards),这些shards被当做一个逻辑输入源。然后Map阶段调用用户实现的函数,叫做Mapper,独立且并行的处理每个shard。对于每个shard,Mapper返回多个键值对,这是Map阶段的输出。

Shuffle阶段:把键值对进行归类,也就是把所有相同的键的键值对归为一类。这个步骤的输出是不同的键和该键的对应的值的数据流。

Reduce阶段: 输入当然是shuffle的输出。然后Reduce阶段调用用户实现的函数,叫做Reducer,对每个不同的键和该键的对应的值的数据流进行独立、并行的处理。每个reducer遍历键对应的值,然后对值进行“置换”。这些置换通常指的的是值的聚合或者什么也不处理,然后把键值对写入数据库、表格或者文件中。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JKXQJ 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档