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

矮脚虎
• 阅读 152

  好程序员大数据学习路线分享hadoop常用四大模块文件
  1.1.1core-site.xml(工具模块)
  包括Hadoop常用的工具类,由原来的Hadoopcore部分更名而来。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的API。
   
  1.1.2hdfs-site.xml(数据存储模块)
  分布式文件系统,提供对应用程序数据的高吞吐量,高伸缩性,高容错性的访问。是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
  namenode+ datanode + secondarynode
   
  1.1.3mapred-site.xml(数据处理模块)
  基于YARN的大型数据集并行处理系统。是一种计算模型,用以进行大数据量的计算。Hadoop的MapReduce实现,和Common、HDFS一起,构成了Hadoop发展初期的三个组件。MapReduce将应用划分为Map和Reduce两个步骤,其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。
   
  1.1.4yarn-site.xml(作业调度+资源管理平台)
   任务调度和集群资源管理
         resourcemanager + nodemanager
   
  1.2hadoop 五大节点:
  1.2.1NameNode(管理节点)
   Namenode 管理着文件系统的命令空间(Namespace)。它维护着文件系统树(filesystemtree)以及文件树中所有的文件和文件夹的元数据(metadata),元数据包括编辑日志(edits)和镜像文件(fsimage)。管理这些信息的文件有两个,分别是Namespace 镜像文件(fsimage)和编辑日志文件(edits),编辑日志主要是记录对hdfs进行的修改.镜像文件主要是记录hdfs的文件树形结构.这些信息被Cache在RAM中,当然,这两个文件也会被持久化存储在本地硬盘。Namenode记录着每个文件中各个块所在的数据节点的位置信息,但是他并不持久化存储这些信息,因为这些信息会在系统启动时从数据节点重建。
   
  1.2.2DataNode(工作节点)
   Datanode是文件系统的工作节点,他们根据客户端或者是namenode的调度存储和检索数据,并且定期向namenode发送他们所存储的块(block)的列表。
   没有namenode,文件系统是无法使用的.事实上,如果运行namenode服务的服务器坏掉,文件系统上的所有文件将会丢失.因为我们不知道如何根据DataNode的块进行重建文件.所有,对NameNode进行容错冗余机制是非常重要的.
   集群中的从节点服务器都运行一个DataNode后台程序,这个后台程序负责把HDFS数据块读写到本地的文件系统。当需要通过客户端读/写某个数据时,先由NameNode告诉客户端去哪个DataNode进行具体的读/写操作,然后,客户端直接与这个DataNode服务器上的后台程序进行通信,并且对相关的数据块进行读/写操作。
   
  1.2.3secondary NameNode(相当于MySQL数据库中主从复制的从节点)
   Secondary  NameNode是一个用来监控HDFS状态的辅助后台程序。和NameNode一样,每个集群都有一个Secondary  NameNode,并且部署在一个单独的服务器上。Secondary  NameNode不同于NameNode,它不接受或者记录任何实时的数据变化,但是,它会与NameNode进行通信,以便定期地保存HDFS元数据的快照。由于NameNode是单点的,通过Secondary  NameNode的快照功能,可以将NameNode的宕机时间和数据损失降低到最小。同时,如果NameNode发生问题,Secondary  NameNode可以及时地作为备用NameNode使用。
   
  1.2.4ResourceManager
   ResourceManage 即资源管理,在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)。
      RM包括Scheduler(定时调度器)和ApplicationManager(应用管理器)。Schedular负责向应用程序分配资源,它不做监控以及应用程序的状态跟踪,并且不保证会重启应用程序本身或者硬件出错而执行失败的应用程序。ApplicationManager负责接受新的任务,协调并提供在ApplicationMaster容器失败时的重启功能.每个应用程序的AM负责项Scheduler申请资源,以及跟踪这些资源的使用情况和资源调度的监控
   
  1.2.5Nodemanager
   NM是ResourceManager在slave机器上的代理,负责容器管理,并监控它们的资源使用情况,以及向ResourceManager/Scheduler提供资源使用报告
  HDFS文件存储机制:
  好程序员大数据学习路线分享hadoop常用四大模块文件
 HDFS集群分为两大角色:NameNode、DataNode、(secondary NameNode)
 NameNode负责管理整个文件系统的元数据
DataNode负责管理用户的文件数据块
 文件会按照固定的大小切成若干块后分布式存储在若干台DataNode上
 每一个文件块可以有多个副本,并存放在不同的DataNode上
 DataNode会定期向NameNode汇报自身所保存的文件block信息,而NameNode则会负责保持文件的副本数量
 HDFS的内部工作机制对客户端保持透明,客户端请求访问HDFS都是通过向NameNode申请来进行

点赞
收藏
评论区
推荐文章
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
HDFS安装
最近内部需求,要求我把数据上传HDFS,顺便分享一下如何安装并查看HDFS文件目录我是在ubuntu(14.04.2)上安装的:1.我安装ubuntu用的不是Hadoop用户,所以要新建一个Hadoop用户  $ sudouseradd\mhadoops/bin/bash设置密码$sudo
Stella981 Stella981
3年前
Hive SQL使用过程中的奇怪现象
hive是基于Hadoop的一个数据仓库工具,用来进行数据的ETL,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。HiveSQL是一种类SQL语言,与关系型数据库所支持的SQL语法存在微小的差异。本文对比MySQL和Hive所支持的SQL语法,发现相同的SQL语句在
Stella981 Stella981
3年前
Hadoop压缩
一、Hadoop压缩简介1、hadoop的3个阶段(1)分布式文件系统HDFS(2)分布式编程框架MapReduce(3)yarn框架2、Hadoop数据压缩MR操作过程中进行大量数据传输。压缩技术能够有效的减少底层存储(HDFS)读写字
Easter79 Easter79
3年前
Sqoop的安装和配置以及Sqoop的基本操作
一、概述Sqoop是apache旗下一款“Hadoop和关系型数据库服务器之间传送数据”的工具。导入数据:把MySQL,Oracle数据导入到Hadoop的HDFS、HIVE、HBASE等数据存储系统;导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等!(http
Stella981 Stella981
3年前
Hive和HBase有哪些区别与联系及适用场景
hiveHive是运行在Hadoop上的一个工具,准确地讲是一个搜索工具。当对海量数据进行搜索时,Hadoop的计算引擎是MapReduce。但是对MapReduce的操作和编程是非常复杂的。于是Hive的存在就让复杂的编程过程简化成了用SQL语言对海量数据的操作。这大大减轻了程序员的工作量。可以说,Hive的存在让海量数据的增删改查更加方便。
Stella981 Stella981
3年前
Hadoop学习笔记(概述)
Apachehadoop是什么? 可靠的,可扩展的分布式计算软件。(1)可使用简单的编程模型来分布式计算集群中的大量数据集。(2)可从一台服务器扩展到数千台服务器的计算和存储(3)在应用层面发现并处理错误Hadoop项目的几大模块(1)HadoopCommon: 支持其他hadoop模块的通用
Stella981 Stella981
3年前
Hadoop技术原理总结
Hadoop技术原理总结1、Hadoop运行原理Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,其最核心的设计包括:MapReduce和HDFS。基于Hadoop,你可以轻松地编写可处理海量数据的分布式并行程序,并将其运行于由成百上千个结点组成的大规模计算机集群上。基于MapReduce计算模型编写分布式并行程序相对简单,
Stella981 Stella981
3年前
Python大数据分析(二):大数据技术基础
文章目录(一)Linux系统和大数据(二)Hadoop(1)Hadoop包含哪些模块?(2)Hadoop的生态成员(3)哪些人在使用Hadoop?(三)Spark(1)Scala(2)RDD(3)主件(四)云计算(1)虚拟化技术
Wesley13 Wesley13
3年前
Java_Habse_add
1importjava.io.IOException;2importorg.apache.hadoop.conf.Configuration;3importorg.apache.hadoop.hbase.HBaseConfiguration;4importorg.apache.hadoop
Hive引擎底层初探
1、什么是HiveHive是一个基于Hadoop的数据仓库工具,用于处理和分析大规模结构化数据。Hive提供了类似SQL的查询语言(HiveQL),使得熟悉SQL的用户能够查询数据。Hive将SQL查询转换为MapReduce任务,以在Hadoop集群上执