hdfs 订阅
Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。 展开全文
Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
信息
特    点
高容错性
适    用
大规模数据集
作    用
作为Apache Nutch的基础架构
实    质
分布式文件系统
全    称
Hadoop Distributed File System
简    称
hdfs
hdfs体系结构
HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。
收起全文
精华内容
参与话题
问答
  • HDFS

    万次阅读 2020-10-09 07:53:19
    HDFS HDFS全称 Hadoop Distribute File System 即 Hadoop分布式文件系统

    HDFS全称 Hadoop Distribute File System 即 Hadoop分布式文件系统

    主要作用

    即存储海量数据
    为什么能存储海量数据??
    因为其空间大,空间大的原因为服务器多、磁盘多。且支持扩展

    组成部分

    管理者-Master NameNode 集群中有1~2个,用于管理集群中的工作者
    工作者-Slave DateNode 集群中有多个,正真存储和计算数据组件
    辅助管理 SecondaryNameNode 辅助管理者工作

    HDFS存储数据方式

    以数据块的方式存储数据。默认一个数据块128M,该数值可以修改
    注意:这里的128仅仅是切分数据的阈值。
    一个大的数据被切分成多个小的128的数据块,分别存储在集群多个节点的不同位置。

    数据副本机制

    数据副本默认是3份。
    一个数据存储到HDFS后,数据自动复制两份,共三份(三分相同的数据-数据冗余)

    数据副本存放机制

    第一个副本在客户端所在的节点(客户端也是集群内的节点),若客户端在集群外,那么根据一定的计算规则选一个节点
    第二份副本,在与第一份相同机柜,且不在同一个服务器的节点上。
    第三份与第一份第二份不在同一个机柜,且逻辑距离(网络拓扑)最近的机柜选择一个节点存储

    Namenode的作用

    1.维护目录树,维护命名空间。
    2.负责确定指定的文件块到具体的Datanode节点的映射关系。(在客户端与Datanode之间共享数据)
    3、管理Datanode结点的状态报告

    DataNode的作用

    1、 负责管理它所在结点上存储的数据的读写,及存储数据。.
    2、 向Namenode结点报告DataNode节点的状态。
    3、 通过流水线复制实现三份数据副本。

    展开全文
  • hdfs

    千次阅读 2020-10-08 08:03:40
    1,hdfs下的相对路径是相对于:/bin/root

    1,hdfs下的相对路径是相对于:/bin/root

    展开全文
  • 大数据_05 【hadoop HDFS-基本介绍】

    万次阅读 2020-10-08 09:41:43
    大数据_05 【hadoop HDFS】01 Hadoop组成02 Hadoop的文件系统介绍03 HDFS分块存储05 HDFS副本机制 01 Hadoop组成 Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统,对海量数据的存储。 Hadoop MapReduce:一个...

    01 Hadoop组成

    Hadoop  HDFS:一个高可靠、高吞吐量的分布式文件系统,对海量数据的存储。
    Hadoop  MapReduce:一个分布式的资源调度和离线并行计算框架。	
    adoop  	Yarn:基于HDFS,用于作业调度和集群资源管理的框架。
    Hadoop  Common:Hadoop工具包,支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)
    

    02 Hadoop的文件系统介绍

    HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统。是 Hadoop
    核心组件之一,作为最底层的分布式存储服务而存在。
    分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。

    在这里插入图片描述

    HDFS使用Master和Slave结构对集群进行管理。一般一个 HDFS 集群只有一个 Namenode 和一定数目的Datanode
    组成。Namenode 是 HDFS 集群主节点,Datanode 是 HDFS
    集群从节点,两种角色各司其职,共同协调完成分布式的文件存储服务。

    在这里插入图片描述

    • NameNode(Master)管理者 - 只负责管理,管理集群内各个节点。
    • SecondaryNameNode 辅助管理 – 只负责辅助NameNode管理工作。
    • DataNode(Slave) 工作者,是负责工作,周期向NameNode汇报,进行读写数据。

    1)HDFS集群包括,NameNode和DataNode以及Secondary Namenode。
    2)NameNode负责管理整个文件系统的元数据,以及每一个路径(文件)所对应的数据块信息。
    3)DataNode负责管理用户的文件数据块,每一个数据块都可以在多个datanode上存储多个副本。
    4)SecondaryNameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。最主要作用是辅助namenode管理元数据信息

    在这里插入图片描述

    03 HDFS分块存储

    hdfs将所有的文件全部抽象成为block块来进行存储,不管文件大小,全部一视同仁都是以block块的统一大小和形式进行存储,方便我们的分布式文件系统对文件的管理

    所有的文件都是以block块的方式存放在HDFS文件系统当中,在Hadoop1当中,文件的block块默认大小是64M,Hadoop2当中,文件的block块大小默认是128M,block块的大小可以通过hdfs-site.xml当中的配置文件进行指定

    <property>
        <name>dfs.block.size</name>
        <value>块大小 以字节为单位</value>//只写数值就可以
    </property>
    

    在这里插入图片描述

    一个文件100M,上传到HDFS占用几个快? 一个块128M,剩余的28M怎么办?

    事实上,128只是个数字,数据超过128M,便进行切分,如果没有超过128M,就不用切分,有多少算多少,不足128M的也是一个快。这个快的大小就是100M,没有剩余28M这个概念。

    抽象成数据块的好处

    1. 一个文件有可能大于集群中任意一个磁盘 20T/128 = xxx块,这些block块属于一个文件
    2. 使用块抽象而不是文件,可以简化存储子系统。
    3. 块非常适合用于数据备份进而提供数据容错能力和可用性

    块缓存
    通常DataNode从磁盘中读取块,但对于访问频繁的文件,其对应的块可能被显示的缓存在DataNode的内存中,以堆外块缓存的形式存在。默认情况下,一个块仅缓存在一个DataNode的内存中,当然可以针对每个文件配置DataNode的数量。作业调度器通过在缓存块的DataNode上运行任务,可以利用块缓存的优势提高读操作的性能。

    05 HDFS副本机制

    HDFS视硬件错误为常态,硬件服务器随时有可能发生故障。 为了容错,文件的所有 block 都会有副本。每个文件的 block

    大小和副本系数都是可配置的。应用程序可以指定某个文件的副本数目。副本系数可以在文件创建的时候指定,也可以在之后改变。

    数据副本默认保存三个副本,我们可以更改副本数以提高数据的安全性 在hdfs-site.xml当中修改以下配置属性,即可更改文件的副本数
    在hdfs-site.xml当中修改以下配置属性,即可更改文件的副本数

    <property>
          <name>dfs.replication</name>
          <value>3</value>
    </property>
    

    低版本Hadoop副本节点选择
    第一个副本在client所处的节点上。如果客户端在集群外,随机选一个。
    第二个副本和第一个副本位于不相同机架的随机节点上。
    第三个副本和第二个副本位于相同机架,节点随机。

    在这里插入图片描述

    Hadoop2.7.2副本节点选择
    第一个副本在client所处的节点上。如果客户端在集群外,随机选一个。
    第二个副本和第一个副本位于相同机架,随机节点。
    第三个副本位于不同机架,随机节点。

    在这里插入图片描述

    06 名字空间(NameSpace)

    HDFS
    支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似:用户可以创建、删除、移动或重命名文件。

    Namenode 负责维护文件系统的名字空间,任何对文件系统名字空间或属性的修改都将被Namenode 记录下来。

    HDFS会给客户端提供一个统一的目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。

    07 Namenode 功能

    1、 维护目录树,维护命名空间。
    2、 负责确定指定的文件块到具体的Datanode结点的映射关系。(在客户端与Datanode之间共享数据)
    3、管理Datanode结点的状态报告

    08 DataNode的作用

    1、 负责管理它所在结点上存储的数据的读写,及存储数据。
    2、 向Namenode结点报告DataNode节点的状态。
    3、 通过流水线复制实现三份数据副本

    09 机架感知

    机架感知需要人为进行配置,编写Python脚本“RackAware.py”。内容为服务器IP与交换机的对应关系。(开源hadoop,使用RackAware.sh)

    #!/usr/bin/python  
    #-*-coding:UTF-8 -*-  
    import sys  
      
    rack = {  
    
            "12.12.3.1":"SW6300-1",  
            "12.12.3.2":"SW6300-1",  
            "12.12.3.3":"SW6300-1",  
            "12.12.3.4":"SW6300-1",  
            "12.12.3.5":"SW6300-1",  
            "12.12.3.6":"SW6300-1",  
    
            "12.12.3.25":"SW6300-2",  
            "12.12.3.26":"SW6300-2",  
            "12.12.3.27":"SW6300-2",  
     
            "12.12.3.49":"SW6300-3",  
            "12.12.3.50":"SW6300-3",  
            "12.12.3.51":"SW6300-3",  
         
            "12.12.3.73":"SW6300-4",  
            "12.12.3.74":"SW6300-4",  
            "12.12.3.75":"SW6300-4",  
    		}  
    if __name__=="__main__":  
        print "/" + rack.get(sys.argv[1],"SW6300-1-2") 
    

    使用以下命令验证

    [root@node01 sbin]# python RackAware.py 12.12.3.1/SW6300-1 
    

    编辑core-site.xml配置文件,将脚本配置为topology.script.file.name的值

    <property>
    <name>topology.script.file.name</name>
    <value>/home/bigdata/apps/hadoop/etc/hadoop/RackAware.py </value>
    </property>
    
    展开全文
  • 大数据_07 【hadoop HDFS的shell命令操作】01 基本语法02 常用普通命令实操03 HDFS常用高级命令04 HDFS适用场景05 HDFS不适用场景06 hdfs的安全模式 01 基本语法 基本语法 bin/hdfs dfs 具体命令 02 常用普通命令...

    01 基本语法

    基本语法 bin/hdfs dfs 具体命令

    02 常用普通命令实操

    HDFS文件夹的增删改查
    		上传	hadoop  fs  -mkdir   /aa
    		修改	hadoop  fs  -mv  /aa   /bb
    		删除	hdfs  dfs  -rmr  /bb
    		查询	hdfs  dfs  -ls   /
    		
    HDFS文件的增删改查
    		上传	hadoop  fs  -put   abc.txt  /
    		修改	hadoop  fs  -mv  /abc.txt    /abcdef.txt
    		删除	hdfs  dfs  -rmr  /abcdef.txt
    		查询	hdfs  dfs  -cat    /abcdef.txt
    

    03 HDFS常用高级命令

    1、	文件夹内文件数量限制
    	a)	设置数量:hdfs   dfsadmin   -setQuota   2   /aa
    	b)	取消设置:hdfs   dfsadmin   -clrQuota    /aa
    2、	文件夹内存储空间大小限制
    	a)	设置大小:hdfs 	dfsadmin 	-setSpaceQuota 	100M 	/aa
    	b)	取消设置:hdfs 	dfsadmin 	-clrSpaceQuota	 /aa
    3、	进入退出安全模式
    	a)	查看状态:hdfs  dfsadmin 	-safemode  get
    	b)	进入安全模式:	hdfs  dfsadmin 	-safemode  enter
    c)	退出安全模式:	hdfs  dfsadmin 	-safemode  leave
    

    04 HDFS适用场景

    1、	海量数据存储
    2、	高容错
    3、	商用廉价的硬件
    4、	存储大文件
    5、	一次写入多次读取
    

    05 HDFS不适用场景

    1、	查询时效性要求低延迟的场景
    2、	大量小文件。
    3、	需要频繁修改数据的场景
    4、	多个用户同时操作一个文件
    

    06 hdfs的安全模式

    安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。在NameNode主节点启动时,HDFS首先进入安全模式,DataNode在启动的时候会向namenode汇报可用的block等状态,当整个系统达到安全标准时,HDFS自动离开安全模式。

    如果HDFS处于安全模式下,则文件block不能进行任何的副本复制操作,因此达到最小的副本数量要求是基于datanode启动时的状态来判定的,启动时不会再做任何复制(从而达到最小副本数量要求),hdfs集群刚启动的时候,默认30S钟的时间是处于安全期的,只有过了30S之后,集群脱离了安全期,然后才可以对集群进行操作

    hdfs dfsadmin -safemode

    在这里插入图片描述

    进入退出安全模式
    	a)	查看状态:hdfs  dfsadmin 	-safemode  get
    	b)	进入安全模式:	hdfs  dfsadmin 	-safemode  enter
    	c)	退出安全模式:	hdfs  dfsadmin 	-safemode  leave
    
    展开全文
  • HDFS精讲

    万人学习 2015-09-09 16:58:03
    讲解HDFS的Java、shell操作,HDFS集群搭建
  • # Name the components on this agent a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = spooldir ...a1.sinks.k1.type = hdfs a1.sinks..
  • exec memory hdfs # Name the components on this agent a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = exec a1.sources.r1.command = tail -F /...
  • HDFS介绍

    千次阅读 2020-10-12 20:32:44
    HDFS 基本介绍 目标:掌握什么是HDFSHDFS的使用场景,组成部分。 HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统。是 Hadoop 核心组件之一,作为最底层的分布式存储服务而存在。 ...
  • HDFS基本命令

    万次阅读 2020-07-13 04:09:02
    shell命令完成hdfs基础操作
  • HDFS概述

    千次阅读 2020-08-18 17:02:45
    目录 ...二、HDFS优缺点 2.1 优点 2.2 缺点 三、HDFS组成架构 四、HDFS文件块大小 一、定义 二、HDFS优缺点 2.1 优点 2.2 缺点 三、HDFS组成架构 四、HDFS文件块大小 ...
  • Hadoop上传文件到hdfs

    万次阅读 2018-08-27 00:02:31
    hdfs dfs -copyFromLocal /local/data /hdfs/data:将本地文件上传到 hdfs 上(原路径只能是一个文件) hdfs dfs -put /tmp/ /hdfs/ :和 copyFromLocal 区别是,put 原路径可以是文件夹等 hadoop fs -ls / :查看...
  • HDFS常用命令hdfs dfs

    千次阅读 2019-08-08 16:33:40
    1.hdfs dfs、hadoop fs、hadoop dfs三个命令的区别 在介绍命令之前,首先要知道hdfs dfs、hadoop fs、hadoop dfs三个命令的区别。 hadoop fs:通用的文件系统命令,针对任何系统,比如本地文件、HDFS文件、HFTP...
  • 使用python的hdfs包操作分布式文件系统(HDFS

    万次阅读 热门讨论 2016-09-07 00:00:42
    使用python的hdfs包操作HDFS文件系统,实例+参数的详细说明,参考官网资料整理的一篇博客
  • HDFS的学习和使用

    万次阅读 2020-05-12 21:56:18
    HDFS的学习和使用 本文是基于CentOS 7.3系统环境,进行HDFS的学习和使用 CentOS 7.3 1. HDFS简介 1.1 什么是HDFS HDFS是一个分布式文件系统,用于存储文件,通过目录树来定位文件,适合一次写入,多次读出的场景...
  • HDFS实验二:部署HDFS/学习搭建HDFS

    千次阅读 2019-03-11 20:24:43
    一、HDFS实验:部署HDFS指导 2.1 实验目的 1. 理解HDFS存在的原因; 2. 理解HDFS体系架构; 3. 理解master/slave架构; 4. 理解为何配置文件里只需指定主服务、无需指定从服务; 5. 理解为何需要客户端...
  • HDFS的特性 HDFS的优点 1、海量数据存储: HDFS可横向扩展,其存储的文件可以支持PB级别或更高级别的数据存储。 2、高容错性:数据保存多个副本,副本丢失后自动恢复。可构建在廉价的机器上,实现线性扩展。当集群...
  • HDFS –Excel 需求:将hdfs上的文件转为Excel文件 1.创建步骤 2.连接hdfs 3.设置hdfs输入 4.设置Excel输出,运行 json--HDFS 需求:将json上传到HDFS 1.创建步骤,读取json数据 2.上传hdfs...
  • Flume采集HDFS audit log日志至HDFS

    千次阅读 2020-05-19 18:04:05
    HDFS的audit log产生数据量很大,速度也很快,在机器系统盘上必须立即持久化到HDFS,否则数据会被覆盖或者磁盘会打满。 用于数据治理-HDFS废弃文件、Hive废弃表检测与清理。 2、实现 ① Apache Flume官网下载最新...
  • HDFS概述及HDFS优缺点

    千次阅读 2020-01-31 19:47:17
    一、HDFS概述 1.1 HDFS产生背景   随着数据量越来越大,在一个操作系统上存储不了所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是...
  • hdfs命令

    千次阅读 2016-08-05 18:04:42
    bin/hdfs dfs命令 appendToFile Usage: hdfs dfs -appendToFile ... 追加一个或者多个文件(linux文件) ... 到hdfs制定文件中.也可以从命令行读取输入. hdfs dfs -appendToFile localfile /user/hadoop/hadoop...
  • # Name the components on this agent a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = spooldir ...a1.sinks.k1.type = hdfs a1.sinks..
  • HDFS全面详解

    万次阅读 多人点赞 2019-03-12 13:55:54
    文章目录课程大纲(HDFS详解)学习目标:HDFS基本概念篇1.1HDFS前言1.2HDFS的概念和特性HDFS基本操作篇2.1HDFS的shell(命令行客户端)操作2.1.1 HDFS命令行客户端使用2.2 命令行客户端支持的命令参数2.3 常用命令参数...
  • HDFS缺点

    千次阅读 2020-10-12 20:19:50
    HDFS不擅长的场景 1.不能做到低延迟数据访问:由于Hadoop针对吞吐量做了搞数据优化,牺牲了获取数据的延迟,所以对于低延迟访问数据的业务需求不适合HDFS。 2.不适合大量的小文件储存:由于namenode将文件系统的元...
  • HDFS常用命令

    千次阅读 2020-10-12 14:35:37
    例 : bin/hdfs dfs -help rm (2)-ls: 显示目录信息 例 : hdfs dfs -ls / (3)-mkdir:在hdfs上创建目录 例 : hdfs dfs -mkdir -p /aaa/bbb/cc/dd (4)-moveFromLocal从本地剪切粘贴到hdfs 例 : hdfs dfs -...
  • HDFS入门之HDFS重要特性

    万次阅读 2018-01-31 14:59:42
    HDFS入门之HDFS重要特性首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件; 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。 1. master/slave架构...
  • HDFS系列(6) | HDFS的java API操作

    千次阅读 多人点赞 2020-04-25 08:55:12
    在之前的博客《HDFS系列(5) |进行API操作前的准备》中,博主为大家分享的是在进行API操作前的准备工作。而本篇博客,博主为大家展现HDFS的API操作。 目录1. HDFS文件上传2. HDFS文件下载3. HDFS文件夹删除4. HDFS...

空空如也

1 2 3 4 5 ... 20
收藏数 95,991
精华内容 38,396
关键字:

hdfs