大数据相关概念和hdfs

大数据

  • 概述

    • 大数据是新处理模式才能具备更多的决策力,洞察力,流程优化能力,来适应海量高增长率,多样化的数据资产。
  • 大数据面临的问题

    • 怎么存储海量数据(kb,mb,gb,tb,pb,eb,zb)
    • 怎么对数据进行降噪处理(对数据进行清洗,使得数据变废为宝,提取有用的数据,减少不必要的数据资源空间的释放)
  • 处理方案

    • hadoop 是一种分布式文件存储系统来解决存储的问题,其中hdfs用来解决数据存储问题,mapReduce来解决如何进行建造处理
  • hadoop是什么? 

    • 由来?

      • 根据google发布的3篇文章
      1. google File System
      2. Google Bigtable
      3. Google MapReduce   获得启发  hadoop之父 Doug Cutting 用java语言解决大数据所面临的问题
    • 概述
      • hadoop 是apache基金会的一款开源的分布式的基础架构,它实现了高容错率,乃至高吞吐量,低成本,由于hadoop用java语言编写可以用在linux是非常可靠的,hadoop核心设计是hdfs和mapReudce以及Hbase分别对应这又google3篇文章,解决了大数据所面临的问题

        • hdfs 分布式文件存储系统
        • mapreduce 分布式计算框架  只需要少量的java代码 就能实现分布式计算
        • hbase 基于HDFS 的列式存储的NoSql
    • hdfs
      • 分布式文件存储系统,其中有nameNode,dataNode,block,nameNode负责管理着dataNode,dataNode负责接收读写请求和nameNode协调工作,负责block快的创建和复制,nameNode存储着元数据,datanode和block中的映射关系  

    •  nameNode  存储元数据 (用来描述数据的数据),负责管理dataNode 与dataNode 协调
    • dataNode 负责nameNode的读写请求,用来存储数据块的节点,向nameNode报告自己的快信息
    • block 数据快  hdfs 最小默认128mb 为一块,没一块默认有3个副本
    • rack  机架 用来放置存储节点,提高容错率,高吞吐量。优化存储和计算
  •   nameNode和SecondaryNameNode 之间的关系

    fsimage  元数据的备份  会被加载到内存当中去

    edits  读写请求的日志文件

   nameNode 会在启动的时候加载 fsimage  和   edits  ,这2个文件不会凭空出现,所以要格式化nameNode

   当用户在操作文件时,由于edits的增加,导致了nameNode启动会越来越慢,所以就出现了SecondaryNameNode  可以简单来说,他是nameNode的一个副本,当到达检查点的时候,也就是hdfs 默认 1个小时  或者  日志操作量级达到100w条的时候,此时SecondaryNameNode会将fsimage和edits加载过来进行合并,此时,若是有读写请求过来的时候会被加载到一个叫edits-inprogess的文件进行记录读写请求,fsimage和edits合并之后会成为一个新的fsimage,而此时edits-inprogess会改名为edits

    • 小问题  : 为什么 一个块的大小默认是128mb

      • 在hadoop 1x 的时候默认快的大小为64  但是随着硬盘的变大 在hadoop2x的时候 快的大小  变成了128m ,此时默认最佳状态是寻址时间是传输速度的100/1
  •  mapReduce
      • 概念 : 分布式计算框架。用于大规模的数据计算,采用并行计算,充分的利用了dataNode的物理存储机制,采用了(Map)映射(Reduce)规约,他极大的方便了程序员不会分布式并行编程的情况下,将自己的程序运行在分布式系统上 ,思想就是 将一个键值对 放在map 里 然后 使用Reduce 进行统筹规划,保证所有的映射的键值队中每一个共享的键组
    • mapReduce最擅长做的就是分而治之 ;
      • 分    就是把一个庞大复杂的任务分解成若干个简单的任务来处理,简单的任务包含有3层
      1. 相对于原来的数据要大大缩小
      2. 所有的任务中并行计算,且互不干扰
      3. 就近计算原则
      • 治之 Reduce 负责对map计算的结果进行统筹汇总
      • 要实现mapReduce 首先得借助一个资源调度平台  Yarn
  • Yarn
      • 概念 Yarn 作为资源调度平台 ,其中有一个最大的管理者,ResourceManager  负责着资源的统筹分配,还有各个节点的管理着,NodeManager 负责向ResourceManager进行资源状态的报告,在NodeManager 中还有一个 MRAppMaster ,负责 申请计算资源,协调计算任务并和NodeManager一起执行监视任务
      1. ResourceManager  负责对集群的整体资源和计算做统筹规划
      2. NodeManager 管理主机上的计算组员,负责报告自身的状态信息
      3. MRAppMaster  负责向ResourceManager负责申请资源,协调计算任务
      4. YarnChild  做实际的计算任务
      5. Container 计算资源的抽象单位

            

原文地址:https://www.cnblogs.com/blogs-gxData/p/11562807.html

时间: 2024-07-31 08:33:22

大数据相关概念和hdfs的相关文章

大数据生态之 ——HDFS

大数据生态之-----HDFS HDFS工作机制 客户端上传文件时,一方面由datanode存储文件内容,另一方面有namenode负责管理block信息(切块大小,副本数量,位于datanode上的位置信息) 一丶namenode的工作职责: 记录元数据 a) 文件的路径 b) 文件的副本数量 c) 文件切块大小 d) block块信息 e) block块的位置信息 2. 响应客户端请求 3. 平衡datanode上block文件块的存储负载 datanode启动后会向namenode汇报自身

大数据 --> 分布式文件系统HDFS的工作原理

分布式文件系统HDFS的工作原理 Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统. 1.分布式文件系统 多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我们称之为分布式系统. 分布式文件系统是分布式系统的一个子集,它们解决的问题就是数据存储.换句

大数据学习之四——HDFS

1.Hadoop与HDFS的关系 Hadoop实现了一个分布式文件系统,即Hadoop Distributed File System,简称HDFS.对外部客户机而言,HDFS就像一个传统的分级文件系统,所以,很多时候,我们也叫它DFS(Distributed File System).可以理解为HDFS是Hadoop中的一个部件. 文件系统由三部分组成:文件管理软件.被管理文件.文件存储结构 2.HDFS存储(流处理,块存储) HDFS以流处理访问模式来存储文件的.分布化的文件系统会因为分布后

大数据学习之HDFS基本API操作(上)06

1 package it.dawn.HDFSPra; 2 3 import java.io.FileNotFoundException; 4 import java.io.IOException; 5 import java.net.URI; 6 import java.net.URISyntaxException; 7 import java.util.Arrays; 8 9 import org.apache.hadoop.conf.Configuration; 10 import org.

【大数据系列】HDFS文件权限和安全模式、安装

HDFS文件权限 1.与linux文件权限类型 r:read w:write x:execute权限x对于文件忽略,对于文件夹表示是否允许访问其内容 2.如果linux系统用户sanglp使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是sanglp 3.HDFS的权限目的:阻止好人做错事,而不是阻止坏人做坏事. 安全模式 1. namenode启动的时候,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中的各项操作. 2. 一旦在内存中成功建立文件系

大数据学习之五——HDFS常用命令

HDFS文件操作常用命令: (1)列出HDFS下的文件 hadoop  dfs  -ls  <目录> (2)上传文件 将Linux系统本地文件上传到HDFS中 hadoop  dfs  -put  <本地文件>  <HDFS文件> (3)下载文件 将HDFS 中的文件下载到Linux系统本地目录 hadoop   dfs  -get  <HDFS文件>  <本地文件> (4)查看文件 hadoop  dfs  -cat  <HDFS文件&g

大数据学习之HDFS基本命令操作05

1)hdfs的客户端 1.网页形式->测试用 http://192.168.40.11:50070/dfshealth.html#tab-overview 2.命令行形式->测试用 3.企业级API 2)查看帮助 hdfs dfs -help 3)查看当前目录信息 hdfs dfs -ls / 3)上传文件 hdfs dfs -put /本地路径 /hdfs路径 4)剪切文件 hdfs dfs -moveFromLocal a.txt /aa.txt 5)下载文件到本地 hdfs dfs -g

大数据学习之HDFS的工作机制07

1:namenode+secondaryNameNode工作机制 2:datanode工作机制 3:HDFS中的通信(代理对象RPC) 下面用代码来实现基本的原理 1:服务端代码 package it.dawn.HDFSPra.RPC.server; import java.io.IOException; import org.apache.hadoop.HadoopIllegalArgumentException; import org.apache.hadoop.conf.Configura

大数据技术学习推荐书籍(一)

因为工作需要需要做一些与大数据开发有关的工作,加之网上的知识过于分散,经常往图书馆跑.看了很多与数据相关的书籍,认为以下基本比较不,错推荐给大家.因为本人接触大数据不足一年,肯定会有一些错误的观念,有错误的地方欢迎在文章下方的评论中评论. 1.<解惑大数据>人民邮电出版社, 2013,丁圣勇,樊勇兵,闵世武编著. 此书综合讲解有关大数据的相关术语和概念,看此书的技术要求较低,非常适合想学习大数据和对大数据相关概念模糊的人员阅读. 2.<写给大忙人的Hadoop2>电子工业出版社,2