先从概念层次介绍下Hadoop的各个组件,下一部分会深入Hadoop的每个组件,并从实战层次讲解。

一、Hadoop构造模块

     运行Hadoop的意思其实就是运行一组守护进程(daemons),每个进程都有各自的角色,有的仅运行在单个服务器上,有的则运行在集群多个服务器上,它们包括:
  • NameNode
  • Secondary NameNode
  • DataNode
  • JobTracker
  • TaskTracker
     Hadoop是一个分布式存储与计算系统,分布式存储部分是HDFS,分布式计算部分是MapReduce,它们都是遵循主/从(Master/Slave)结构,上面前3个组件属于分布式存储部分,后面2个组件属于分布式计算部分,下面详细介绍一下它们。
二、NameNode
     前面说了,NameNode属于HDFS,它位于HDSF的主端,由它来指导DataNode执行底层I/O任务。NameNode相当于HDFS的书记员,它会跟踪文件如何被分割成文件块,而这些块又是被哪些节点存储,以及分布式文件系统整体运行状态是否正常等。
     运行NameNode会消耗大量内存和IO资源,因此为减轻机器负载,驻留NameNode的服务器通常不会存储用户数据或者进行MapReduce计算任务,这也就意味着一台NameNode服务器不会同时是DataNode或者TaskTracker服务器。
     不过NameNode的重要性也带来了一个负面影响---单点故障。对于其他任何守护进程,其驻留节点发生软件或硬件故障,Hadoop集群还可平稳运行,但是对于NameNode来说,则不可以。不过后面版本(2.0以后的版本)已经解决此问题。
三、DataNode
     集群中每一个从节点都会驻留一个DataNode的守护进程,用来将HDFS数据库写入或读取到本地文件系统中。当对HDFS文件进行读写时,文件会被分割成多个块,有NameNode告知客户端每个数据驻留在哪个DataNode,客户端直接与DataNode进行通信,DataNode还会与其它DataNode通信,复制这些块以实现冗余。
     
NameNode跟踪源数据,DataNode提供数据块的备份存储并持续不断地向NameNode报告,以保持元数据最新状态。
四、 Secondary NameNode
     SNN是一个监测HDFS的辅助进程,它只与NameNode进程通信,根据集群配置时间间隔获取HDFS元数据快照,我们知道HDFS有单点故障,SNN快照有助于减少宕机而导致的数据丢失风险,其一般也单独占一台服务器。
五、 JobTracker
     它是应用程序和Hadoop之间的纽带,监控MapReduce作业执行过程,一旦提交代码到集群,JobTracker就会确定执行计划,包括决定处理哪些文件、为不同的任务分配节点以及监控所有任务运行。每个集群只有一个JobTracker进程,一般运行在主节点。
六、 TaskTracker
     TaskTracker管理各个任务在从节点上的执行情况。它负责执行有JobTracker分配的单项任务,虽然每个从节点只有一个TaskTracker运行,但每个TaskTracker可以生产多个JVM来并行地处理多Map或Reduce任务。TaskTracker的一个职责是不断的与JobTracker通信,即“心跳”。
下面再来整体看一下整个Hadoop拓扑结构
下面就是一个典型的Hadoop拓扑图,主动结构,NameNode和JobTracker位于主端,DataNode和TaskTracker位于从端。
客户端向JobTracker发送Job任务,JobTracker会把Job切分,并分配不同的Map和Reduce任务到每一台机器。
想更深一步了解HDFS相关组件,请参考我的另一篇文章:《HDFS架构设计》

Hadoop组件概览相关推荐

  1. ssis组件_使用SSIS Hadoop组件连接到Apache Hive和Apache Pig

    ssis组件 In our previously published articles in this series, we talked about many SSIS Hadoop compone ...

  2. ssis导出数据性能_使用SSIS Hadoop组件导入和导出数据

    ssis导出数据性能 In the previously published article, we talked briefly about Hadoop, and we gave an overv ...

  3. hadoop组件---面向列的开源数据库(九)--python--python使用thrift连接hbase

    Python使用thrift操作HBase thrift支持多种语言进行连接使用,但是没找到linux中的cli操作命令行的形式.所以如果服务器有python环境的话,可以使用python进行连接,快 ...

  4. hadoop组件---spark理论----spark on k8s模式的三种方式全面了解

    我们在之前的文章中 已经了解了 spark支持的模式,其中一种就是 使用k8s进行管理. hadoop组件-spark----全面了解spark以及与hadoop的区别 是时候考虑让你的 Spark ...

  5. Hadoop组件搭建-Hadoop伪分布式

    该文章仅用于记录个人笔记,如果您觉得不专业或者有误导,打扰到您,请谅解. Hadoop组件搭建-前置要求 Hadoop组件搭建-jdk Hadoop组件搭建-Hadoop伪分布式 Hadoop组件搭建 ...

  6. Hadoop集群搭建之Hadoop组件安装

    兵马未动,粮草先行 --汉语成语 系列文章目录 Hadoop集群搭建之Linux系统安装 Hadoop集群搭建之Hadoop组件安装 文章目录 系列文章目录 前言 一.IP和主机名称配置 (一)Had ...

  7. Hadoop组件之-HDFS(HA实现细节)

    NameNode 高可用整体架构概述 在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS NameNode 和 JobTracker 都存在着单点问题,这其中以 NameNode ...

  8. hadoop组件---数据仓库(四)---hive常用命令

    安装好hive的环境之后 我们可以尝试一些常用的命令,常用命令也可以作为平时工作中的速查手册. 进入hive控制台 首先需要知道hive的启动目录在哪,可以使用命令 whereis hive 启动hi ...

  9. hadoop组件---spark----全面了解spark以及与hadoop的区别

    Spark是什么 Spark (全称 Apache Spark™) 是一个专门处理大数据量分析任务的通用数据分析引擎. spark官网 Spark核心代码是用scala语言开发的,不过支持使用多种语言 ...

  10. #Livy配置Kerberos,#调用Hadoop组件,#Java 实现Livy大数据调用,#java拉取hive数据同步到本地

    项目场景: 78做java后端的, 让联调大数据, 78做java的都没看过大数据让去做, 又不是没做大数据的人了,而且 nm让做不懂得涨点工资, 发个福利吗? 自己写一个Java程序, 去调用别人L ...

最新文章

  1. Debugging Tools for Windows__from WDK7
  2. 什么是以太坊,它是区块链2.0的代表,它又什么特点?
  3. python编程入门t-python高级编程——入门语法(二)
  4. LeetCode Maximal Rectangle(dp)
  5. PE学习(五)导出表,编写DLL及查看DLL的导出信息
  6. easyui点击搜索的时候获取不要文本框里面的值的问题
  7. Bootstrap4+MySQL前后端综合实训-Day06-AM【eclipse详细配置Tomcat、开发web项目、servlet、连接MySQL8.0数据库、用户登录界面的编写与验证、分页查询】
  8. OI生涯回忆录(二)
  9. VBScript是什么?有什么优缺点?
  10. 强制 Google.com 域名使用 HTTPS(SSL)
  11. input在vue中如何一次性上传多张图片_小程序图片上传,存储,获取,显示
  12. 获取 Adobe Creative Cloud 2023 创意应用软件,解锁无限创造力
  13. 【MATLAB】MATLAB数值计算
  14. 黑客江湖之八大门派和东邪西毒南帝北丐中神通
  15. 教师节到了,用Python做了个非常好用的学生点名系统
  16. 简单通用QQ/微信跳转浏览器打开代码
  17. 一文搞懂CAN FD总线协议帧格式
  18. 高并发解决方案 超详细!!!
  19. 【Unity3d】3d网页游戏场景打包与加载
  20. Epub 阅读器 - iOS

热门文章

  1. 每年春节被黄牛坑,只因你不了解这个技术!大数据反爬虫系统!
  2. 什么是jsp,什么是Servlet?jsp 和Servlet 有什么区别
  3. 手机字体 html代码大全,移动端html5如何定义字体
  4. DosBox的安装及使用——详细教程
  5. Python实现10种聚类算法
  6. ISO 9000 族标准的构成
  7. ES中文分词器-ik分词器安装
  8. 《Redis开发与运维》学习第八章
  9. AppScan安装包及详细安装教程(带图)
  10. 深信服桌面云取消聚合口后的影响