【学习笔记】Hadoop1:Hadoop的四大模块

hadoop的安装部署、 common模块 、HDFS模块、Yarn模块 、MapReduce模块 JDK安装 https://blog.youkuaiyun.com/simple_start/article/details/94218246 hadoop的安装部署 安装方式:伪分布式,让进程跑在一台机器上,只是他们的端口不一样 文档: http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleC... 阅读详情

前言

Hadoop是一个由Apache基金会开发的分布式系统基础架构,在大量计算机组成的集群当中实现了对于海量的数据进行的分布式计算,简单来说就是解决海量数据的存储和分析计算的问题。

Hadoop的优势

  1. 高可靠性: Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
  2. 高扩展性: 在集群间分配任务数据,可方便的扩展数以千计的节点
  3. 高效性: 在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
  4. 高容错性: 能够自动将失败的任务重新分配。

Hadoop的组成结构

Hadoop经历了从Hadoop1.x到Hadoop2.x的转换,为:在这里插入图片描述
区别: 在Hadoop1.x时代,Hadoop 中的 MapReduce 同时处理业务逻辑运算和资源的调度,耦合性较大。而在 Hadoop2.x 时代,MapReduce 将 JobTracker 中的资源管理及任务生命周期管理(包括定时触发及监控)拆分成两个独立的组件,并更名为 YARN(Yet Another Resource Negotiator)。即 YARN只负责资源的调度,MapReduce 只负责运算。

1. common(工具类)

common 包括Hadoop常用的工具类,由原来的Hadoopcore部分更名而来。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的API。

2. Hadoop Distributed File System(HDFS)

  • HDFS支持海量数据的存储,允许用户把成百上千的计算机组成存储集群,其中每一台计算机称为一个节点,构建了一个能跨越计算机或网络系统的单一的文件命名空间,HDFS实现了大数据的分布式存储。用户可以通过HDFS的终端命令来操作其中的文件和目录,也可以通过HDFS API或者MapReduce来编程访问其中的文件数据。
  • HDFS首把大数据文件切分成若干个更小的数据块,再把这些数据块分别写入不同节点之中。每一个负责保存文件数据的节点就成为数据节点(DataNode)。当用户需要访问文件时,为了保证能够读取每一个数据块,HDFS使用集群中的一个节点专门保存文件的属性信息(包括文件名,所在目录以及每一个数据块的存储位置等),该节点成为元数据节点(NameNode)。这样客户端通过NameNode节点可以获得数据块的位置,直接访问DataNode即可获得数据。
  • HDFS默认的数据块大小为128MB(在Hadoop-2.2版本之前默认的大小为64MB)。HDFS主要由三个部分组成:
NameNode

NameNode的作用是管理分布式文件系统的命名空间,并将所有的文件和目录的元数据,例如文件名,文件目录的结构,文件的属性(生成时间、副本数、文件权限),以及每个文件的块列表和块(block)所在的DateNode等保存到Linux本地文件系统的目录(由 dfs.namenode.name.dir 参数指定)。

DataNode

DataNode的作用是保存HDFS文件的数据内容。当在HDFS写入文件时,大数据文件将被切分为多个数据块,DataNode直接从客户端接收数据,经过加密后写入到Linux本地系统的相应目录(由 dfs.datanode.data.dir 参数指定)。
当一个DataNode启动时,它会扫描Linux本地文件系统,产生一个与这些本地文件对应的所有HDFS数据块的列表,作为报告发送到NameNode,该报告就是块状态报告(即该数据块的信息)。客户端从HDFS读文件时,客户端首先访问NameNode,获得文件的每个数据块所在的DataNode信息,再连接这些DataNode,即可获得文件的数据内容。

Secondary NameNode

Secondary NameNode的目的是在HDFS中提供一个检查点,每隔一段时间就会获取元数据的快照,并返回给NameNode。(这里推荐一篇写的很好的博客:Secondary NameNode:它究竟有什么作用?)

2.1 HDFS的优点:

  1. 支持超大文件(TB量级以上)的存储;
  2. 支持流式的访问数据;
  3. 可以运行于廉价的商用机器集群上。

2.2 HDFS的缺点:

  1. 不适合低延迟数据访问: HDFS是用于处理大规模数据集分析任务的,主要是为了达到高数据吞吐量而设计的,这就可能要求以高延迟为代价;
  2. 无法高效存储大量的小文件: 因为NameNode把文件系统的元数据放置在内存中,所以文件系统所能容纳的文件数目是由NameNode的内存大小来决定的。此外,由于map任务的数量是由数据块的分片数(splits)来决定的,因此在MapReduce处理大量的小文件时,就会产生过多的map任务,线程管理开销将会增加作业时间;
  3. 不支持多用户写入和任意修改文件: 在HDFS的一个文件中只有一个写入者,而且写操作只能在文件末尾完成,即只能进行追加操作,目前HDFS还不支持多个用户对同一文件的写操作,以及在文件任意位置进行修改。

3. YARN(Yet Another Resource Negotiator)

YARN在Hadoop中负责对资源的管理与调度,主要方法是创建一个全局的 ResourceManager(RM) 和若干个针对应用程序的 ApplicationMaster(AM)。
在这里插入图片描述

- ResourceManager

ResourceManager 将各个资源部分(CPU、内存等)安排给 NodeManager,与 ApplicationMaster 一起分配资源,与 NodeManager 一起启动和监视它们的基础应用程序。(类似于公司中的最高管理者,负责分配任务和监视手下)。

- ApplicationMaster

ApplicationMaster 管理一个在YARN内运行的应用程序的每个实例。ApplicationMaster 负责协调来自ResourceManager 的资源,并通过 NodeManager 监视容器的执行和资源使用(CPU、内存等的资源分配)。(类似于公司中的项目经理,负责调控上头的指令,并把任务分配给下级)。

- NodeManager

NodeManager 处理 ResourceManager 和 ApplicationMaster 的命令管理一个YARN集群中的每个节点。NodeManager 提供针对集群中每个节点的服务,从监督对一个容器的终生管理到监视资源和跟踪节点健康。(类似于公司中的员工,负责处理上头的命令并完成工作)。

4. MapReduce

MapReduce 是基于 YARN 的大型数据集并行处理系统,适合用来处理大数据。MapReduce 将计算过程分为两个阶段:Map(映射)和Reduce(归约)。指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组(相当于约束作用)。

Hadoop 四大组件总结 Hadoop 的四大组件:common、HDFS、MapReduce、YARN common(工具类): 包括 Hadoop 常用的工具类,由原来的 Hadoopcore 部分更名而来。主要包括系统配置工具 Configuration、远程过程调用 RPC、序列化机制和 Hadoop 抽象文件系统 FileSystem 等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软... 阅读详情

相关推荐

3.2 Hadoop简介

Hadoop是较早用来处理大数据集合的分布式存储计算基础架构,最早由Apache软件基金会开发。 Hadoop软件库是一个计算框架,在这个框架下,可以使用一种简单的编程模式,通过多台计算机构成的集群,分布式处理大数据集。 Hadoop被设计成可扩展的,它可以方便地从单一服务器扩展到数千台机器,每台机器进行本地计算和存储。 3.2.1 Hadoop的构成 Hadoop包括以下四个基本模块: ● Hadoop基础功能库:支持其他Hadoop模块的通用程序包。 ● HDFS:一个分布式文件系统,能够以高吞吐量访

cjjtree123的博客 2677

Hadoop 2.0:主流开源云架构(三)

本文讲解Hadoop2.0主流开源云架构,介绍Hadoop2.0的体系架构,包括公共组件Common、HDFS、Yarn和安全机制。

Morse_Chen的博客 2942

hadoop常用四大模块及五大进程节点介绍

1.1hadoop常用四大模块文件: 1.1.1core-site.xml(工具模块) 包括Hadoop常用的工具类,由原来的Hadoopcore部分更名而来。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的API。 ...

一亩三分地 1万+

Hadoop Common 结构学习

从今天开始,开始研究学习Hadoop Common相关的源码结构。Hadoop Common在Hadoop1.0中是在core包下面的。此包下面的内容供HDFS和MapReduce公用,所以作用还是非常大的。Hadoop Common模块下的内容是比较多的。本人打算在后面的学习中挑选部分模块进行分析学习,比如他的序列化框架的实现,RPC的实现等等。我对此模块截出了一些图:

走在前往架构师的路上 8376

Hadoop3.1.1:UnsupportedFileSystemException异常

Hadoop3.1.1 报Exception in thread “main” org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "hdfs"解决 配置环境: CentOS 7 64位 eclipse-jee-2019-06-R-linux-gtk-x86_64.tar hadoop-3.1...

qq_43590003的博客 6144

hadoop-common.zip

windows 再idea 或者 eclipse中使用hadoop 、 spark 时出现异常, 解压之后放在相关目录使用

Hadoop (一) (hadoop简介+四大模块+五大节点+HDFS的读写原理+故障检测机制)

文章目录环境的构建 环境的构建 官方文档: https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html 软件下载 https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/

weixin_45649763的博客 7138

Wafer的T7 Code是什么,怎么来的

在半导体Cim系统中,waferstart 业务需要支持 Sorter 读取 Wafer 的 T7 Code,与 MES 的 Wafer ID 进行绑定,以便向 前追溯 Wafer 历史,那么问题来了,T7code 是什么Wafer的T7 Code是一种,用于标识双面抛光的晶圆。这种标记采用二维矩阵代码符号,适用于各种尺寸的晶圆,不仅限于450mm无缺口晶圆7。T7 Code是衬底来料背面通常会有的供应商刻的追溯ID,这是一串数字和字母组成的流水码。

阿拉伯梳子的专栏 7926

Hadoop学习笔记

Hadoop学习简介前言:大数据的概念一、Hadoop入门1.概念1.1 Hadoop是什么?1.2 Hadoop发展历史1.3 Hadoop三大发行版本1.4Hadoop的优势1.5Hadoop的组成1.5.1 HDFS架构概述1.5.2 YARN架构概述1.5.3 MapReduce架构概述1.5.4 HDFS、YARN、MapRecduce三者间的关系1.6大数据技术生态体系1.7推荐系统案例2. 环境准备2.1模板虚拟机的准备2.2克隆2.3安装JDK以及Hadoop3.Hadoop生产集群搭建3.

NotLency的博客 3242

高分系列卫星轨道、传感器参数等信息

遥感卫星数据简介-高分系列

中遥科 3309

基于PlatformIO与CMSIS的STM32库函数开发实战:从环境搭建到外设驱动

本文详细介绍了基于PlatformIO与CMSIS的STM32库函数开发实战,从环境搭建到外设驱动实现。通过对比传统IDE,PlatformIO结合CMSIS框架在跨平台开发、代码可移植性和调试体验上更具优势。文章包含PlatformIO.ini配置详解、GPIO/USART驱动开发实例及常见问题解决方案,帮助开发者高效完成STM32项目开发。

weixin_29190169的博客 423

Hadoop的三大核心和四大模块

Hadoop Hadoop的三大核心是有:HDFS、MapReduce、YARN Hadoop 四个模块 Hadoop Common: 为其他hadoop模块提供基础设施。 Hadoop DFS: 一个高可靠、高吞吐量的分布式文件系统 Hadoop MapReduce: 一个分布式的离线并进行计算框架 ——分布式计算框架 Hadoop YARN: 一个新的MapReduce框架,任务调度与...

阿楠的博客 1万+

零基础学simulink仿真建模--使用Simulink来构建一个混合动力无人机中燃料电池与锂电池协同控制的仿真模型

延长飞行时间:燃料电池的能量密度高于锂电池,适合长时间稳定供电。提高功率密度:锂电池能够快速响应瞬时高功率需求,比如起飞和加速阶段。优化能源管理:通过有效的能量管理系统,可以根据实际需求动态调整燃料电池和锂电池的工作状态,从而提高整体效率。通过上述步骤,我们简要介绍了如何基于Simulink实现混合动力无人机中燃料电池与锂电池协同控制的仿真模型。

amy_mhd的博客 190

HADOOP的四大机制

HADOOP的四大机制一、心跳机制1.1、namenode是怎么知道各个从节点的存活状态呢?1.2、namenode什么是时候断定datanode死了?二、安全模式2.1 元数据的组成2.2集群在启动的时候namenode需要做哪些事情2.3安全模式形成三、机架策略四、负载均衡 一、心跳机制 namenode是集群的老大,负责集群上任务的分工,如果要进行分工,则必须知道各个从节点的存活状态。 1....

weixin_41089778的博客 772

【论文复现】Applied Intelligence 2025:Auto-PU正例无标签学习的自动化实现与GPT-5.4辅助编程实战

正例-无标签学习(Positive-Unlabelled Learning, PU Learning)是机器学习领域处理"只有正例标签,负例完全未知"场景的重要技术。本文基于2025年发表于Applied Intelligence的最新研究成果,详细阐述如何从零复现Auto-PU框架(包含GA-Auto-PU、BO-Auto-PU、EBO-Auto-PU三种优化器)。

nmdbbzcl的博客 1389

基于电能质量治理的场景实例:统一电能质量调节器(UPQC)与并网逆变器集成

本文通过Simulink平台,详细演示了统一电能质量调节器(UPQC)与并网逆变器的集成系统建模与仿真过程。主要内容包括:1)系统架构设计,包含光伏并网系统、非线性负载和电压扰动源;2)UPQC主电路设计,包括串联/并联单元拓扑和控制策略实现;3)与并网逆变器的能量交互与协同控制逻辑;4)典型电能质量问题的仿真测试场景。结果表明,该集成系统能有效治理电压暂降(维持负载电压380V±2%)和电流谐波(电网THD<3%),直流母线电压稳定在800V±5V。该系统为应对复杂电能质量问题提供了"电压

xiaoheshang_123的博客 310

Hadoop介绍?Hadoop的优势和四大组件并且四大组建的作用是什么?

一、Hadoop是什么? 1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构 2)主要解决,海量数据的存储和海量数据的分析计算问题。 3)广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈 二、Hadoop的优势是什么? 1)高可靠性:因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。...

千手修罗之乐少的博客 3126

matlab SAR图像的多视滤波

单视复数数据(Single Look Comple)是原始的最高分辨率数据,但是从单个像元散射的雷达回波信号的相干叠加,导致强度信息有很多噪声。SAR的多视处理是对SLC数据方位向和/或距离向做平均,得到的结果是多视后的强度数据。多视处理可以提高SAR图像的信噪比,有效抑制斑点噪声,但是会降低方位分辨率。

点云侠的博客 534

Hadoop发展历程及重要核心模块解读

本文内容及截图来自网络课堂。 目录 Hadoop 四大模块演变 Hadoop HDFS Hadoop MapReduce Hadoop YARN Hadoop 四大模块演变 说明: 版本特点:   Hadoop HDFS HDFS:Hadoop Distributed File System——分布式文件系统 文件系统: 文件+存储block块。 a.单机文件系统...

纸上得来终觉浅,绝知此事要躬行 2374

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

好程序员大数据划重点 hadoop常用四大模块文件

1.core-site.xml( 工具模块 ) 。包括 Hadoop 常用的工具类,由原来的 Hadoopcore 部分更名而来。主要包括系统配置工具 ...

cique2620的博客 125

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

好程序员大数据学习路线分享hadoop常用四大模块文件

  好程序员大数据学习路线分享hadoop 常用四大模块文件    1.1.1core-site.xml(工具模块)    包括Hadoop常用的工具类,由原来的Hadoopcore部分更名而来。主要包括系...

cique2620的博客 191

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Hadoop框架和四大组件简介

+

words8的博客 2870

hadoop 如何连beeline_hadoop的四大机制

前言这个前言其实也没啥好写的,主要是想要和以前的文章风格保持一致吧,哈哈,先皮一吧。其实不是啦,好,开始进入正题。hadoop是一个分布式文件系统,我们想要的要求就是必须安全和稳定,不能说动不动整个集群就挂掉了,也不能动不动集群里面的数据就丢失了或者损坏了,还要能处理海量的数据,于是为了解决不限于以上的这些问题,hadoop就设计了四个机制,分别为:心跳机制,安全机制,机架策略(副本存放策略),负...

weixin_35949431的博客 312

大数据离线计算Hadoop2.x 学习笔记(1)- Hadoop 配置

1 Hadoop 配置 1.1 standlone模式 不需要启动单独的 hadoop 进程 Standalone mode is suitable for running MapReduce programs during development, since it iseasy to test and debug them. 1.2 伪分布式模式 进入${HADOOP_HOME}/etc...

一角残叶的博客 594
上一篇: 【学习笔记】Linux基础(3):Linux常用命令2——用户权限和vi编辑器的使用
下一篇: 在Ubuntu下JDK1.8和Hadoop2.6.0的安装与配置
MikeXiao_
博客等级 码龄8年 4粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值