阿里巴巴采用了 15 个节点组成的 Hadoop 集群,用于处理从数据库中导出的商业数据的排序和组合。

Ebay 使用了 32 个节点组成的集群,包括 8 532 个计算核心以及 5.3 PB 的存储。该公司大量使用了 Java 编写的 MapReduce 应用,以及 Pig 、 Hive 和 HBase 的组合应用以研究搜索优化。*

Facebook 主要使用 Hadoop 来存储内部日志和结构化数据源的副本,并且将其作为数据报告、数据分析和机器学习的数据源。

什么是Hadoop?

Apache Hadoop 是一款支持数据密集型分布式应用并以 Apache 2.0 许可协议发布的开源软件框架。

Hadoop 框架透明地为应用提供可靠性和数据移动。它实现了名为 MapReduce 的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。

此外,Hadoop 还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。

核心概念

Hadoop 项目主要包含了以下四个模块:

1. Hadoop 通用模块(Hadoop Common): 为其他 Hadoop 模块提供支持的公共实用程序。

2. Hadoop 分布式文件系统(HDFS, Hadoop Distributed File System):提供对应用程序数据的高吞吐量访问的分布式文件系统。

3. Hadoop YARN:任务调度和集群资源管理框架。

4. Hadoop MapReduce: 基于 YARN 的大规模数据集并行计算框架。

对于初次学习 Hadoop 的用户而言,应重点关注 HDFS 和 MapReduce。作为一个分布式计算框架,HDFS 承载了该框架对于数据的存储需求,而 MapReduce 满足了该框架对于数据的计算需求。

下图是 Hadoop 集群的基本架构:

Hadoop 生态体系

如同 Facebook 在 Hadoop 的基础上衍生了 Hive 数据仓库一样,社区中还有大量与之相关的开源项目,下面列出了一些近期比较活跃的项目:

HBase:一个可伸缩的、支持大表的结构化数据存储的分布式数据库。

Hive:提供数据汇总和临时查询的数据仓库基础框架。

Pig:用于并行计算的高级数据流语言和执行框架。

ZooKeeper:适用于分布式应用的高性能协调服务。

Spark:一个快速通用的 Hadoop 数据计算引擎,具有简单和富有表达力的编程模型,支持数据 ETL(提取、转换和加载)、机器学习、流处理和图形计算等方面的应用。

值得特别关注的是,Spark 这一分布式内存计算框架就是脱胎于 Hadoop 体系的,它对 HDFS 、YARN 等组件有了良好的继承,同时也改进了 Hadoop 现存的一些不足。部分学习者可能会对 Hadoop 和 Spark 的使用场景重叠产生疑问,但学习 Hadoop 的工作模式和编程模型,将有利于加深对 Spark 框架的理解,这也是本系列课程首先学习 Hadoop 的原因。

部署 Hadoop

Hadoop 主要有以下三种部署模式:

单机模式:在单台计算机上以单个进程的模式运行。

伪分布式模式:在单台计算机上以多个进程的模式运行。该模式可以在单节点下模拟“多节点”的场景。

完全分布式模式:在多台计算机上分别以单个进程的模式运行。

具体的部署步骤以及详细的教程大家可以 点击我  进行学习,因为内容还是比较广泛和充实的:

  • 实验1:Hadoop 简介与安装部署

  • 挑战1:Hadoop 系统部署

  • 实验2:HDFS 架构与操作

  • 实验3:MapReduce 原理与实践

  • 挑战2:使用 MapReduce 进行日志分析

  • 实验4:YARN 架构

  • 挑战3:用 Hadoop 计算圆周率

  • 实验5:HBase 基础

  • 挑战4:HBase 数据导入

  • 实验6:Sqoop 数据迁移

  • 挑战5:HBase 实现 Web 日志场景数据处理

  • 实验7:Solr 基础实战

  • 实验8:Hive 基础实战

  • 挑战6:导入数据到 Hive

  • 实验9:Flume 基础实战

  • 实验10:Flume、HDFS 和 Hive 实现日志收集和分析

  • 挑战7:用 Flume 和 MapReduce 进行日志分析

  • 实验11:Kafka 基础实战

  • 挑战8:按需部署 Kafka

  • 实验12:使用 Flume 和 Kafka 实现实时日志收集

  • 实验13:Pig 基础实战

只要是你有一定的计算机基础和 Java 基础,并且对 Hadoop 感兴趣,相信都是可以完整地学下来的,大家加油!

相关阅读

8个爽滑的Windows小软件,不好用你拿王思葱砸死我

60人,42天,死磕机器学习,结果如下。

武侠版编程语言...Java像张无忌还是令狐冲?

大量机器学习&深度学习资料

技术变现,到底怎么变?

赵丽颖固然漂亮,可这份Hadoop核心教程也不差呀的更多相关文章

  1. 大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...

  2. Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    转自:http://blog.csdn.net/iamdll/article/details/20998035 分类: 分布式 2014-03-11 10:31 156人阅读 评论(0) 收藏 举报 ...

  3. hadoop基础教程免费分享

    提起Hadoop相信大家还是很陌生的,但大数据呢?大数据可是红遍每一个角落,大数据的到来为我们社会带来三方面变革:思维变革.商业变革.管理变革,各行业将大数据纳入企业日常配置已成必然之势.阿里巴巴创办 ...

  4. [转]《Hadoop基础教程》之初识Hadoop

    原文地址:http://blessht.iteye.com/blog/2095675 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不 ...

  5. 《Hadoop基础教程》之初识Hadoop

    Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...

  6. [转载] 《Hadoop基础教程》之初识Hadoop

    转载自http://blessht.iteye.com/blog/2095675 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用 ...

  7. <<Hadoop基础教程》之初识Hadoop【转】

    Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...

  8. 《Hadoop基础教程》之初识Hadoop(转载)

    转载自博主:上善若水任方圆http://blessht.iteye.com/blog/2095675 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴 ...

  9. 《Hadoop基础教程》之初识Hadoop 【转】

    Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...

随机推荐

  1. 关于VMware Linux 虚拟机忘记root 密码找回

    因为昨天新安装过虚拟机设置了新的密码,再加上我好长时间没有用自己旧的虚拟机,导致忘记了密码,原来虽然知道在单用模式下,找回密码,但是确实是自己从来都没有做过,还好我们组大手飞翔哥告诉了我,怎么找回ro ...

  2. MPU6050带字符驱动的i2c从设备驱动1

    开干: 1.闲言碎语 这个驱动,越写觉的越简单,入门难,入门之后感觉还好.Linux开发还是比较友好的. 2.编写MPU6050带字符驱动的i2c从设备驱动 要实现的功能就是,将MPU6050作为字符 ...

  3. 【ML入门系列】(二)分类与回归

    前言 在机器学习中,“分类”和“回归”这两个词经常听说,但很多时候我们却混为一谈.本文主要从应用场景.训练算法等几个方面来叙述两者的区别. 本质区别 分类和回归的区别在于输出变量的类型.分类的输出是离 ...

  4. 链路追踪工具之Zipkin学习小记

    (接触了Zipkin,权将所了解或理解的记于此,以备忘) 分布式追踪系统 随着业务发展,系统拆分多个微服务.此时对于一个前端请求可能需要调用多个后端端服务才能完成,当整个请求变慢或不可用时,我们是无法 ...

  5. java使用代理请求https

    我本来在我本机写的代码,本机电脑是可以连外网没限制,对于https和http都可以.但是放在linux服务器上后,因为VM限制了不能访问外网,而且有ssl验证所以就一直报错,要么是连不上线上请求,要么 ...

  6. class ObjectOutputStream也是过滤流,使节点流直接获得输出对象。

    class ObjectOutputStream也是过滤流,使节点流直接获得输出对象. 最有用的方法:WriteObject(Object b) 用流传输对象称为对象的序列化,但并不使所有的对象都可以 ...

  7. Oracle字段根据逗号分割查询数据

    需求是表里的某个字段存储的值是以逗号分隔开来的,要求根据分隔的每一个值都能查出来数据,但是不能使用like查询. 数据是这样的: 查询的sql如下: select * from ( select gu ...

  8. lua 中protobuf repeated 嵌套类 复合类型

    PB基础知识科普 syntax = "proto2"; package PB; message Item { required string name = ; } message ...

  9. scala 隐式详解(implicit关键字)

    掌握implicit的用法是阅读spark源码的基础,也是学习scala其它的开源框架的关键,implicit 可分为: 隐式参数 隐式转换类型 隐式调用函数 1.隐式参数 当我们在定义方法时,可以把 ...

  10. 有趣的JavaScript隐式类型转换

    JavaScript的数据类型是非常弱的(不然不会叫它做弱类型语言了)!在使用算术运算符时,运算符两边的数据类型可以是任意的,比如,一个字符串可以和数字相加.之所以不同的数据类型之间可以做运算,是因为 ...