hadoop组件简介

官方文档组织的非常清晰,主要由以下四个组件组成:HDFS、map-reduce、yarn、hadoop-common

hdfs架构

HDFS

分布式文件存储系统,主要特点是:

  • 可以运行在普通低成本硬件之上
  • 并且具备高容错性(硬件容错)
  • 适合高吞吐量的大数据存储,但并不强调低延迟
  • 适合一次写,多次读的场景,不支持随机读写;

map-reduce

map-reduce是一个计算框架,绝大部分的数据处理都可以转化为map、reduce组合,然后利用map-reduce框架进行计算、处理;

yarn

资源管理器,核心的思想时将资源的调度管理与资源监控分割为两个进程,其中一个是ResourceManager,另一个是NodeManager,前者负责资源的分配、后者负责资源监控;

common

hdfs、map-reduce所需要的公共库;

面试题

HDFS的进程构成及其作用;

nameNode进程:负责对外展示文件的层级结构、管理客户端对文件的访问(如:打开、关闭、重命名等)、决定文件block与dataNode的对应关系;

secondNameNode进程:从名字来看,应该是nameNode的back up,然而并不是,其主要作用是协助nameNode管理editLog;

dataNode:主要负责数据存储以及客户端的读写请求以及block的创建、删除等;

详细解释map过程的细节:

map过程主要是实现key-value集合到key-value集合的映射,可以实一对一、一对多、多对多映射;

详细过程是:map -> group -> sorted -> partitioned

group:相同的key放到一起;

sorted:按照key进行排序

partition:对key进行分区,最终分区数量一般等于task数量;

详细解释reduce过程细节:

首先是shuffle,即从map端拉取数据到reducer端;

之后是group,也就是相同的key可能来自于不同的map,所以需要group

之后是sort过程(再map阶段排序的基础之上,进行归并排序即可)

最后是second sort(用户自定义,如果没有自定义则不执行)

最后是reduce过程。

setCombinerClass的作用:

在map端先进行一部分reduce工作,主要优点是减少shuffle成本;但也有一定的局限性,仅仅适用于reduce的输入和输出数据类型相同时;

简单介绍Federation架构:

Federation架构通过多个独立的NameNode实现集群的横向扩展,主要解决了HDFS的吞吐量及承载量受限于单个nameNode,并且无法根据namespace做隔离的弊端。

在存储层,各个nameNode共用统一的DataNode

hadoop重命名文件_面试系列:深入理解hadoop架构体系相关推荐

  1. hadoop重命名文件_hadoop HDFS常用文件操作命令

    命令基本格式: hadoop fs -cmd < args > 1.ls hadoop fs -ls / 列出hdfs文件系统根目录下的目录和文件 hadoop fs -ls -R / 列 ...

  2. hadoop重命名文件_Hadoop -- 3. 从Flume到HDFS

    提起Flume, 就先讲一下它的基本作用, 它可以从不同的数据源导入到一个集中的地方存放起来,基本架构如下图所示 *上图为Flume Data Flow Model, Ref: Flume 1.9.0 ...

  3. python格式批量重命名文件_利用Python批量重命名一系列文件名杂乱的文件

    假设目录下面有这样一系列命令杂乱的文件: OPENFOAM -TRAINING- PART- #1.pdf OPENFOAM - TRAINING- PART- #2.pdf OPENFOAM- TR ...

  4. java无法重命名文件_巧妙地解决Java文件重命名失败的问题

    一.问题描述 1.大家在用log4j时,可能会遇到下面的一个报错信息: Failed to rename [/opt/proj.log] to [/opt/proj.log.2014-03-20]. ...

  5. python下载文件并改名_第46p,8行代码,用Python批量重命名文件

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第46篇文章,第二阶段的课程:Python基础知识:小案例之用Python批量重命名文件. 学习本课程,建议先看一遍:[计算机基础知 ...

  6. python 重命名文件出现乱码_下载的文件名总是「乱码」?这里有各平台的解决方法...

    说起「乱码」,没遇到过的电脑用户可能是极少的,尤其在国内中文环境下.暴露年龄的「烫烫烫」系列乱码已经绝迹,现如今遇到的往往是类似「%E9%AB%98%E9%A2%91」和「èªå¨é£è±è½»ä¼¼ ...

  7. 服务器上无法重命名文件夹,linux如何重命名文件和文件夹_网站服务器运行维护...

    win10显示网络电缆被拔出怎么办_网站服务器运行维护 win10显示网络电缆被拔出的解决方法是:1.打开[设备管理器],展开[网络适配器]选项:2.打开网卡属性窗口,切换到[电源管理]选项,并取消勾 ...

  8. 天天向上续 python代码_第46p,8行代码,用Python批量重命名文件

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第46篇文章,第二阶段的课程:Python基础知识:小案例之用Python批量重命名文件. 学习本课程,建议先看一遍:[计算机基础知 ...

  9. node重命名文件名_利用Node.js对文件进行重命名

    前言 最近把博客换了皮肤,今天早上起来就开始捣鼓文件命名问题.hexo的文章基本都是生成在_post文件夹下,若文章多了以后就不好管理,所就打算以[日期+文章标题]为文件名: 更改前: 更改后: 文章 ...

最新文章

  1. Nature综述:微生物的社交网络 - 营养缺陷型如何塑造复杂群落
  2. 2018 Multi-University Training Contest 3 Problem F. Grab The Tree 【YY+BFS】
  3. 【HDU 5834】Magic boy Bi Luo with his excited tree
  4. python 结构体数组 定义_一篇文章弄懂Python中所有数组数据类型
  5. 讲解虚拟服务器的书_程序员不得不看的书
  6. oracle段管理方式设为自动,oracle自动段管理ASSM笔记
  7. 使用OpenCV需要注意的小细节
  8. 奥维 html api,【教程】在奥维中,个人如何申请天地图API秘钥(手机端操作)
  9. 字符替换 英文字符串单词个数统计 python123题解
  10. Apache ab测试结果解析
  11. “爆炸图!“ArcGIS中制作一张好看的爆炸分析图(附练习数据)
  12. jzoj6152. 【GDOI2019Day2模拟2019.4.29】Endless (倍增维护并查集,平方串)
  13. graphs菜单_Wireshark自带工具IO Graphs分析接收数据平滑度案例
  14. 2023年全国最新交安安全员精选真题及答案6
  15. IBM Watson健康与美国糖尿病协会结成合作伙伴
  16. 【u-boot】u-boot-2016.09 make编译过程分析(二)
  17. [5 算法] 31. 了解各种排序选择(partition,stable_partition,nth_element,partial_sort,sort,stable_sort)
  18. matlab谐波含量,基于谐波检测中的数字低通滤波器的MATLAB设计
  19. PHP - Laravel VSCode 自用插件
  20. 学计算机去华科还是哈工大,我想学工科,哈工大、武汉大学、东南大学、华科,到底选哪个?...

热门文章

  1. ⒉设置 Bash 选项[3-3]
  2. 明天是你的生日~~~
  3. 胡兴梅博士谈沟通技巧
  4. 为什么我的文章没有被推荐?
  5. Java虚拟机1:什么是Java
  6. java环境用openoffice转pdf
  7. 静静守候属于我们的幸福。坚守我们的约定
  8. mongodb的delete_MongoDB 删除数据库
  9. 未清采购订单关闭最全的方法
  10. SAPCAR 压缩解压软件的使用方法