`

我个人理解的 hadoop

 
阅读更多
待本文写完后目标是能够自己配置成功小型的hadoop服务器集群,能够写一个简单的hadoop应用demo,和一些基本的hadoop设计概念

刚接触工作不久,做了一些关于服务器集群运算的任务,然后就开始熟悉到当前比较热门的hadoop 框架下的海量数据处理,加上前两天单位上组织一个海量数据处理的学习交流会,让我对hadoop或者说是海量数据处理有了更深的认识.

首先得在没有任何基础的情况下还得了解什么是hadoop,有啥作用,应用在什么场合.

说的直白通俗一点,hadoop就是把一台计算机段时间做不完的活分配给多台计算机做,这样就可以在短时间得到结果而无需等待一台计算机长时间做一个任务

可以用面向的数据规模或者计算规模的大小作为衡量,那么

个人pc机:面向池塘量数据或计算规模
服务器:面向湖量数据或计算规模
hadoop:面向海量数据或计算规模

这儿把hadoop比喻成一个实体机,其实hadoop只是一个软件,但是比喻成实体机也很合乎情理,实际上hadoop是一套软件,他的作用是把众多计算机管理到一起,让他们做同一个工作,程序员通过hadoop的api来实现对整个计算机集群的管理.

当你对hadoop有大体上的认识后,就需要了解一些关于hadoop的术语,在hadoop中我个人从开始接触到最近算是比较了解整体流程和看了一些书籍后觉得hadoop总得来说术语还算是比较少的,现在吧常用的术语列举并做解释:

HDFS MapReduce namenode datanode jobtracker tasktracker slave master Mapper Reducer

以上算是HADOOP最常用的一些术语,在进一步理解HADOOP工作流程原理之前需要对上面的术语有相关的实体联系.

HDFS:hadoop distributed file system,这是用hadoop做任务的一个非常强大的地方,一个分布式文件系统,据权威的解释是这个文件系统具有高容错性,读取速度和写入速度远远大于单个磁盘的速度,高容错性的意思就是在众多配置非常普通的硬件上能够实现整体数据的一致性,举个例子就是,如果在集群中的一台机器坏掉了,这并不会影响最终的任务运行,而无论这台机器是什么时候坏掉的,正在做任务坏的,已经差不多做完,或者正在读写数据的时候,简单的比喻就是像公司里面的某一个员工,他在不在或者说做不做活,公司都能把上级交的任务完成,只是完成的时间或许比较起来要慢一点而已,至于他什么时候不做或者其他原因,领导是没有必要关心的

MapReduce:这个是让hadoop集群运行任务所用到的一个编程接口,也算是一种编程方法或流程,通过mapreduce来实现任务程序的编写

namenode:HDFS延伸出来的一个虚拟概念,因为HDFS中的文件是保存在很多台计算机上的,这些计算机每台保存整个文件的一部分,那势必有一台计算机来管理这些保存数据计算机的管理者,所以管理的这台计算机就叫做namenode

datanode:就是namenode管理的众多计算机中每一台就叫做一个datanode

同理jobtracker就是管理任务分发运行的一个主机,其他的就叫tasktracker

在HADOOP系统中,管理的计算机通常就叫master,那么呗管理的就叫slave

mapper 和 reducer是编程过程中用到的两个接口,实现这两个接口就能编写mapreduce函数了

下面这幅图是hadoop刚下载后的原始目录结构




我们在使用过程中以后用到的就是一个配置conf目录



待续.........................2011年9月28日15:08:22
  • 大小: 58.4 KB
分享到:
评论

相关推荐

    windows版hadoop

    Hadoop是一款开源的大数据处理框架,最初由Apache软件基金会开发,旨在提高分布式系统上大规模数据集的处理效率。...这对于学习和理解Hadoop的工作原理以及开发基于Hadoop的数据处理应用非常有帮助。

    hadoop-eclipse-plugin-2.6.0.jar

    首先,我们需要理解Hadoop的核心概念。Hadoop是Apache基金会开源的一款分布式计算框架,它基于Google的MapReduce编程模型和GFS(Google File System)设计思想,旨在解决大数据处理的挑战。MapReduce将大型任务分解...

    Linux环境下hadoop-0.20.2资源下载

    这个版本包含了Hadoop的核心组件,如HDFS(Hadoop分布式文件系统)和MapReduce,这两个组件是理解Hadoop工作原理的关键。 HDFS是Hadoop的基础,它是一个分布式文件系统,设计时考虑了容错性和高可用性。HDFS将大...

    Hadoop The Definitive Guide

    - **Hadoop:The Definitive Guide**:这本书是关于Hadoop技术的权威性指南,旨在为读者提供全面、深入的理解Hadoop的技术细节及其应用。 #### 描述解读 - **Hadoop权威指南第三版**:此版本是对前两版的更新和完善...

    Hadoop2.7.3源码Eclipse工程

    这表明用户可以期待一个完整的、无报错的开发环境,能够直接在Eclipse中运行和理解Hadoop的内部机制。 【标签】"Hadoop Eclipse"进一步强调了这个项目与Hadoop的开发和Eclipse IDE的集成紧密相关,意味着开发者可以...

    Hadoop权威指南中文版(完全版)

    《Hadoop权威指南》中文版是全面了解和深入学习Hadoop技术的重要参考...在大数据时代,理解和掌握Hadoop技术对于个人职业发展具有重要意义,因为它不仅是企业处理海量数据的关键工具,也是推动业务创新的重要驱动力。

    hadoop2.6.4 eclipse插件

    这个“hadoop2.6.4 eclipse插件”是针对 Hadoop 2.6.4 版本定制的,由个人编译并经过测试,确保了其可用性。 Hadoop 插件的主要功能包括: 1. **项目配置**:插件允许用户在 Eclipse 中创建 Hadoop 项目,并提供...

    传智黑马赵星老师hadoop七天课程资料笔记-第一天(全)

    3. "数据同步过程.png" - 这可能是一张图表,解释了Hadoop中数据在不同节点间同步的过程,这对于理解Hadoop的数据冗余和容错机制非常重要。 4. "大数据介绍.ppt" - 这可能是一个关于大数据基础知识的演示文稿,可能...

    基于hadoop的词频统计.docx

    【正文】 Hadoop 是一种基于云计算的分布式计算框架,由 Apache 基金会在...随着大数据时代的到来,Hadoop 技术成为了企业和科研机构处理海量数据的关键工具,学习和掌握 Hadoop 技术对于个人职业发展具有重要意义。

    Hadoop.Beginners.Guide

    在本书中,作者Garry Turkington以入门者的视角出发,旨在帮助读者理解Hadoop的基础知识,掌握其基本工作原理,并指导读者如何利用Hadoop来解决大数据问题。书中不仅解释了核心的Hadoop技术,还探讨了与Hadoop交互或...

    hadoop-2.10.1 standalone配置文件参考

    在Hadoop生态系统中,Hadoop 2.10.1是一个重要的版本,它提供了一组稳定且高效的数据处理...对于初学者来说,从standalone模式开始,逐步过渡到伪分布式和完全分布式模式,有助于深入理解Hadoop的工作原理和操作流程。

    Hadoop概述

    在理解Hadoop之前,我们需要先了解传统数据与大数据之间的区别。 - **传统数据特征**: - **数据来源**:主要包括数据采集终端和企业内部管理系统。 - **数据特征**:增长速度较慢,数据量一般在GB或TB级别。 - ...

    hadoop高级应用二

    "hadoop高级应用二"这个主题将深入探讨Hadoop生态系统中的高级概念和技术,帮助用户更好地理解和利用Hadoop进行大规模数据处理。以下是对这个主题的详细阐述: 一、Hadoop概述 Hadoop是由Apache基金会开发的一个...

    Win本地测试hadoop

    总的来说,"Win本地测试hadoop"涵盖了在Windows环境下搭建Hadoop环境、编写和执行MapReduce程序的基础知识,这对于理解和实践大数据处理具有重要意义。通过这种方式,开发者可以在本地快速迭代和测试代码,提升开发...

    hadoop_bayes代码下载

    为了深入理解并利用这个项目,用户需要有一定的Hadoop和MapReduce基础,了解如何在Hadoop环境中运行MapReduce作业。同时,对于朴素贝叶斯算法的理解也是必不可少的,这涉及到概率论和统计学的知识。此外,具备一定的...

    Hadoop第一次培训材料

    【Hadoop第一次培训材料】是针对初学者设计的一份详细教程,旨在介绍分布式计算框架Hadoop的核心概念和技术。...学习Hadoop不仅可以提升个人技能,也有助于企业更有效地管理和分析海量数据,驱动业务增长。

    Hadoop开发工程师简历模板

    【Hadoop开发工程师简历模板】是一个专注于大数据处理和分析的专业人士的个人简历示例,适合那些寻求在Hadoop领域发展的工程师。此简历突出了应聘者的技能、经验以及对Hadoop和相关技术的深入理解。 首先,这位...

Global site tag (gtag.js) - Google Analytics