Hadoop这个名字不是一个缩写,它是一个虚构的名字。该项目的创建者,Doug Cutting这样解释Hadoop的得名:"这个名字是我孩子给一个棕黄色的大象样子的填充玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子是这方面的高手。”
Hadoop是
适合海量数据的分布式存储和计算平台。它可以用来处理比较小的只有几十K,几十M的数据,但显示不出高效性,甚至可能还不如传统的单虚拟机运行效率,所以Hadoop更适合处理TB数量级以上的数据。对于怎么理解分布式存储和计算,我们先来看一下Hadoop的架构图:
HDFS和Map/Reduce是核心组成,它们分别负责存储和计算。
一、
HDFS
分布式文件系统,采用主从结构。存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的 RAID 架构大不相同。块的大小(预设 64MB)和复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。HDFS 内部的所有通信都基于标准的 TCP/IP 协议。HDFS 的架构是基于一组特定的节点构建的,只有一个主节点NameNode(NN)和多个从节点DataNode(DN)。解释一下NN和DN:
NN:主要功能是提供名称查询服务,是一个jetty服务器。
--接受用户操作请求(例如读文件)
--维护文件系统的目录结构
--管理文件和block之间的关系,block与DN之间的关系
DN:--保存block
--启动DN线程时会向NN汇报block信息
--通过向NN发送心跳保持联系(3秒一次),如果NN10分钟没有收到DN的心跳,则认为其lost,并copy其上的block到其他DN。
此外,HDFS通过副本机制提高可靠度和读取吞吐量,block副本系数一般为3,放置策略:
第一个副本:放置在上传文件的DN,如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点;
第二个副本:放置在与第一个副本不同的机架的节点上;
第三个副本:与第二个副本相同集群的节点。
二、
Map/Reduce
Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。
Map/Reduce框架也是主从结构,由一个单独的master JobTracker 和每个集群节点一个slave TaskTracker共同组成。master负责调度构成一个作业的所有任务,这些任务分布在不同的slave上,master监控它们的执行,重新执行已经失败的任务。而slave仅负责执行由master指派的任务。(类似项目经理和程序员的上下级关系)
正因为HDFS和Map/Reduce的设计原则,Hadoop有了下面四个特点:
1.
扩容能力:能可靠的存储和处理PB数据。
2.
成本低:可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
3:
高效率:通过分发数据,Hadoop可以在数据所在的节点上并行处理。
4.
可靠性:Hadoop能自动的维护数据的多份副本,并且在任务失败后能自动的重新部署计算任务。
- 大小: 12.9 KB
分享到:
相关推荐
它将从资源分配的角度出发,帮助学习者理解Hadoop如何高效地在分布式环境中处理海量数据。这种讲解方式使得复杂的技术概念变得易于理解和应用,是适合入门学习者的宝贵资源。 【标签】"Hadoop 大数据 视频教程 入门...
本文从Hadoop的定义、背景、应用场景以及Hadoop生态圈等多个角度全面介绍了Hadoop的基础知识和技术要点。通过对Hadoop的深入理解,可以更好地把握其在大数据处理中的核心作用以及未来的发展趋势。此外,了解分布式...
本指南将从多个角度带领读者入门Hadoop,包括它的生态系统、分布式框架原理、与结构化数据的结合以及日常管理等。 Hadoop是针对大数据处理需求而产生的计算范式,能够处理在过去两年间产生的世界绝大多数数据。它的...
从入门到实战,从多角度做了全面的修订和补充。不仅详细讲解了新一代的Hadoop技术,而且全面介绍了Hive、HBase、Mahout、Pig、ZooKeeper、Avro、Chukwa等重要技术,是系统学习Hadoop技术的首选之作
### Hadoop基础知识与应用 #### 一、大数据概论 **1.1 大数据概念** 大数据是指在一定时间内无法用传统数据处理工具捕获、管理和处理的...无论是从技术角度还是商业角度来看,Hadoop都是值得深入学习和研究的对象。
Hadoop是一个广泛应用于大数据领域的分布式存储与计算平台,对于想要从入门到精通掌握Hadoop技术的专业人士而言,理解其架构、部署、运行机制和特点是非常关键的。Hadoop不仅包括了核心项目HDFS和MapReduce,还包含...
- Hadoop版本为0.20.1,这是一个较早的版本,但从学习角度出发仍然具有一定的参考价值。 #### 二、JDK安装与配置 1. **JDK下载**: - 下载`jdk-6u13-linux-i586.bin`,并将其放置于指定目录下。 2. **JDK安装*...
在初学者的角度,理解Hadoop的组成部分以及其架构设计是学习Hadoop的基础。 首先,Hadoop的分布式文件系统(HDFS)是其核心组件之一,它具有高吞吐量的数据访问能力,非常适合大规模数据集的存储和处理。HDFS的设计...
第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...
第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...
本文将从初学者的大数据入门角度出发,推荐一些关于大数据的书籍,帮助初学者更好地理解和掌握大数据相关的技术和知识。 关于大数据的书籍推荐 1. 《Big Data》 《Big Data》是一本关于大数据的书籍,它提供了一...
第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...
第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...
Storm流计算从入门到精通之技术篇(高并发策略、批处理事务、Trident精解、运维监控、企业场景) Storm入门教程 之Storm原理和概念详解,出自Storm流计算从入门到精通之技术篇,Storm入门视频教程用到技术:Storm集群...
第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...
第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...
本篇主要介绍MapReduce开发的基础知识,以大数据入门学习的角度出发。 首先,我们从一个简单的例子——WordCount程序开始。WordCount程序是MapReduce的典型应用,它统计一组文本文件中每个单词出现的次数。Map阶段...
"大话云计算"与"深入云计算"这两本书籍分别从不同角度探讨了这一主题,为读者提供了丰富的云计算知识。 "大话云计算"是一本面向初学者的入门书籍,它以通俗易懂的语言解释了云计算的基本概念、原理以及应用。书中...
- 《大数据架构实战》:从实战角度出发,详细讲解了如何构建高效稳定的大数据处理平台。 - 《Spark快速上手》:适合初学者快速入门Spark编程。 4. **社区交流**:加入相关技术论坛和社交群组,如Stack Overflow、...
《Learning Spark》与《图解Spark核心技术与案例实战》两本书是深入了解和学习Apache Spark的重要资源,它们分别从英文和中文角度提供了丰富的Spark知识。Spark作为一个分布式计算框架,以其高效、易用和多模态处理...