精华内容
下载资源
问答
  • 可能是我跟着别人的博客来安装的,落下了什么东西,反正基本的都起来了,今天晚上的任务就是...按照官方文档:http://hadoop.apache.org/docs/r3.0.3/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html#Overview...

    可能是我跟着别人的博客来安装的,落下了什么东西,反正基本的都起来了,今天晚上的任务就是把这些hadoop3.0.3 重装。

    按照官方文档:http://hadoop.apache.org/docs/r3.0.3/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html#Overview

    展开全文
  • HDFS基础】HDFS文件目录详解

    万次阅读 2017-07-28 16:09:26
    HDFS的文件目录图分析:从上图可以看出,HDFS的文件目录主要由NameNode、SecondaryNameNode和DataNode组成,而NameNode和DataNode之间由心跳机制通信。注: HDFS(Hadoop Distributed File System)默认的存储单位是...

    HDFS的文件目录图

    这里写图片描述

    分析:从上图可以看出,HDFS的文件目录主要由NameNode、SecondaryNameNode和DataNode组成,而NameNode和DataNode之间由心跳机制通信。

    注:

    • HDFS(Hadoop Distributed File System)默认的存储单位是128M的数据块。
      可以执行命令vim /home/qingaolei/hadoop/hadoop-2.8.0/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml查看

    这里写图片描述

    • 当然也可以通过修改配置文件进行修改,通过命令vim /home/qingaolei/hadoop/hadoop-2.8.0/etc/hadoop/hdfs-site.xml进入到配置文件进行修改。

    这里写图片描述

    NameNode

    1.NameNode的文件结构

    这里写图片描述
    //中间省略很多行
    这里写图片描述

    分析:从上图可以看出,NameNode的文件结构包含edits、fsimage、seen_txid、VERSION

    2.edits

    • 编辑日志(edit log):当客户端执行写操作时,首先NameNode会在编辑日志中写下记录,并在内存中保存一个文件系统元数据,这个描述符会在编辑日志改动之后更新。

    • edits_start transaction ID-end transaction ID
      finalized edit log segments,在HA(高可用)环境中,Standby Namenode只能读取finalized log segments,

    • edits_inprogress__start transaction ID
      当前正在被追加的edit log,HDFS默认会为该文件提前申请1MB空间以提升性能

    3.fsimage

    • 文件系统镜像(fsimage):文件系统元数据的持久检查点,包含以序列化格式(从Hadoop-2.4.0起,FSImage开始采用Google Protobuf编码格式)存储的文件系统目录和文件inodes,每个inodes表征一个文件或目录的元数据信息以及文件的副本数、修改和访问时间等信息。

    • fsimage_end transaction ID
      每次checkpoing(合并所有edits到一个fsimage的过程)产生的最终的fsimage,同时会生成一个.md5的文件用来对文件做完整性校验(详细过程见下文)。

    4.seen_txid

    • seen_txid是存放transactionId的文件,format之后是0,它代表的是namenode里面的edits_*文件的尾数,namenode重启的时候,会按照seen_txid的数字,循序从头跑edits_0000001~到seen_txid的数字。

    • 当hdfs发生异常重启的时候,一定要比对seen_txid内的数字是不是你edits最后的尾数,不然会发生建置namenode时metaData的资料有缺少,导致误删Datanode上多余Block的资讯。

    5.VERSION

    VERSION文件是java属性文件,保存了HDFS的版本号。

    这里写图片描述

    • namespaceID是文件系统的唯一标识符,是在文件系统初次格式化时生成的。
    • clusterID是系统生成或手动指定的集群ID
    • cTime表示NameNode存储时间的创建时间,升级后会更新该值。
    • storageType表示此文件夹中保存的是元数据节点的数据结构。
    • blockpoolID:针对每一个Namespace所对应blockpool的ID,该ID包括了其对应的NameNode节点的ip地址。
    • layoutVersion是一个负整数,保存了HDFS的持续化在硬盘上的数据结构的格式版本号。

    6.in_use.lock

    防止一台机器同时启动多个Namenode进程导致目录数据不一致

    SecondaryNameNode

    1.SecondaryNameNode的文件结构

    这里写图片描述

    分析:从上图可以看出,SecondaryNameNode主要包括edits、fsimage、VERSION

    2.edits

    从NameNode复制的日志文件

    3.fsimage

    从NameNode复制的镜像文件

    4.VERSION

    这里写图片描述

    注:SecondaryNameNode和NameNode的VERSION系相同,不再赘述。

    5.in_use.lock

    防止一台机器同时启动多个SecondaryNameNode进程导致目录数据不一致

    check point 过程

    1.图例:检查点处理过程

    这里写图片描述

    2.过程分析

    1)Secondary NameNode首先请求原NameNode进行edits的滚动,这样新的编辑操作就能够进入新的文件中。

    2)Secondary NameNode通过HTTP方式读取原NameNode中的fsimage及edits。

    3)Secondary NameNode读取fsimage到内存中,然后执行edits中的每个操作,并创建一个新的统一的fsimage文件。

    4)Secondary NameNode通过HTTP方式将新的fsimage发送到原NameNode。

    5)原NameNode用新的fsimage替换旧的fsimage,旧的edits文件用步骤1)中的edits进行替换(将edits.new改名为edits)。同时系统会更新fsimage文件到记录检查点的时间。
    这个过程结束后,NameNode就有了最新的fsimage文件和更小的edits文件

    注:可执行hadoop dfsadmin –saveNamespace命令运行上图的过程Secondary NameNode(NameNode的冷备份)每隔一小时会插入一个检查点,如果编辑日志达到64MB,则间隔时间更短,每隔5分钟检查一次。

    DataNode

    1.DataNode的文件结构

    这里写图片描述

    分析:从上图可以看出,.DataNode的文件结构主要由blk_前缀文件、BP-random integer-NameNode-IP address-creation time和VERSION构成。

    2.BP-random integer-NameNode-IP address-creation time

    • BP代表BlockPool的,就是Namenode的VERSION中的集群唯一blockpoolID,

    • 从上图可以看出我的DataNode是两个BP,这是因为我的HDFS是Federation HDFS,所以该目录下有两个BP开头的目录,IP部分和时间戳代表创建该BP的NameNode的IP地址和创建时间戳

    3.finalized/rbw

    • 这两个目录都是用于实际存储HDFS BLOCK的数据,里面包含许多block_xx文件以及相应的.meta文件,.meta文件包含了checksum信息。

    • rbw是“replica being written”的意思,该目录用于存储用户当前正在写入的数据。

    4.blk_前缀文件

    • HDFS中的文件块本身,存储的是原始文件内容。

    • 块的元数据信息(使用.meta后缀标识)。一个文件块由存储的原始文件字节组成,元数据文件由一个包含版本和类型信息的头文件和一系列块的区域校验和组成。

    注:当目录中存储的块数据量增加到一定规模时,DataNode会创建一个新的目录,用于保存新的块及元数据。当目录中的块数据量达到64(可由dfs.DataNode.numblocks属性确定)时,便会新建一个子目录,这样就会形成一个更宽的文件树结构,避免了由于存储大量数据块而导致目录很深,使检索性能免受影响。通过这样的措施,数据节点可以确保每个目录中的文件块都可控的,也避免了一个目录中存在过多文件。

    5.VERSION

    这里写图片描述

    • storageID相对于DataNode来说是唯一的,用于在NameNode处标识DataNode
    • clusterID是系统生成或手动指定的集群ID
    • cTime表示NameNode存储时间的创建时间
    • datanodeUuid表示DataNode的ID号
    • storageType将这个目录标志位DataNode数据存储目录。
    • layoutVersion是一个负整数,保存了HDFS的持续化在硬盘上的数据结构的格式版本号。

    6.in_use.lock

    防止一台机器同时启动多个Datanode进程导致目录数据不一致

    参考: Secondary NameNode:它究竟有什么作用?

    展开全文
  • private static void CreateFile() throws ... FileSystem fs = FileSystem.get(new URI("hdfs://192.168.10.111:8020"), new Configuration()); boolean mkdirs = fs.mkdirs(new Path("/Test001")); if(mkdirs){ ..
      private static void CreateFile() throws URISyntaxException, IOException {
    
            FileSystem fs = FileSystem.get(new URI("hdfs://192.168.10.111:8020"), new Configuration());
            boolean mkdirs = fs.mkdirs(new Path("/Test001"));
            if(mkdirs){
                System.out.println("创建成功");
            }else {
                System.out.println("创建失败");
            }
    
        }
    
    展开全文
  • HDFS文件系统的根目录和用户主目录分别是什么? 根据这四个截图,你能得出什么结论? HDFS文件系统的根目录是/,用户主目录是/user/[hadoop用户名] 根据上面的截图,所有的文件都放在根目录及其子目录下。/tmp用于...

    HDFS文件系统的根目录和用户主目录分别是什么?
    根据这四个截图,你能得出什么结论?

    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    HDFS文件系统的根目录是/,用户主目录是/user/[hadoop用户名]
    根据上面的截图,所有的文件都放在根目录及其子目录下。/tmp用于hadoop操作的临时存储,/user下的是用户空间,/data在截图中/data/input应该是存放从本地上传至HDFS文件系统的文件,/data/output应该是存放hadoop运行的结果。
    一般在HDFS文件系统创建文件或文件夹时,若直接hadoop fs -mkdir [文件夹名],那么创建的目录在用户目录/user下,若想建立在其他地方,必须要写完整路径。

    展开全文
  • 需要知道的以一点就是,后面我写命令的时候会用hdfs dfs xx ,其实等同于 hadoop fs xx,选择自己喜欢的方式就好了。另外需要读者需要了解的前提知识是,我的hadoop集群有三个节点,分别为node1,node2,node3。这三...
  • 1.安装和配置JDKjdk8下载地址解压jdk安装包tar -zxvf jdk-8u261-linux-x64.tar.gz配置JDK环境变量vi /etc/...export PATH=$JAVA_HOME/bin:$PATH2.Hadoop安装和启动HDFSHadoop下载地址解压Hadoop安装包tar -zxvf hado...
  • HDFS常用命令

    2019-06-04 10:53:55
    1.帮助命令 可以通过此命令了解更多命令 hdfs dfs -help 2.根目录详情 hdfs dfs -ls / 3.文件上传到hdfs的根目录下 hdfs dfs -put a.txt /a.txt ...5.从hdfs根目录下载文件到指定位置 hdfs...
  • hdfs hadoop上删除非空目录方法

    万次阅读 2018-08-17 14:37:08
    删除hdfs根目录上/hbase 重新进行安装操作 hadoop3@master ~]$ hdfs dfs -rm -r -f /hbase 18/08/17 14:20:20 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes,...
  • 2.查看分布式文件系统hdfs根目录文件 hadoop fs -ls -R /test1 3.将文件上传至hdfs文件服务器new目录下 上传目录:hadoop fs -put /usr/local/tools/testfile/ /test1 上传文件:hadoop fs -put tes...
  • hdfs的shell命令

    2019-05-24 15:27:58
    hdfs的shell命令,有三种形式,用前面两个。 hdfs dfs √ hadoop fs √ hadoop dfs ...dfs -ls -R / 查看hdfs根目录下包括子目录在内的所有文件和目录 hdfs dfs -mkdir /aa/bb 在hdfs的/aa目录下新建/bb...
  • HDFS练习

    2019-06-03 09:32:00
    利用Shell命令与HDFS进行交互 以”./bin/dfs dfs”开头的Shell命令方式 1.目录操作 在HDFS中为hadoop用户创建...删除HDFS根目录中的“input”目录 2.文件操作 使用vim编辑器,在本地Linux文件系统的“/home/ha...
  • 修改hdfs目录的权限

    万次阅读 2017-02-08 17:40:55
    http://www.linuxidc.com/Linux/2012-05/60635.htm
  • HDFS常用Shell操作

    2018-01-25 21:03:27
    查看HDFS根目录下的目录:hadoop fs -ls / 递归查看HDFS根目录下的目录:hadoop fs -lsr / 创建文件夹 hadoop fs -mkdir 文件夹名称 上传文件到HDFS中 hadoop fs -put 本地源路径 目标存放路径 hadoop fs -put ...
  • 如题,我想获取hdfs下的文件名怎么获取。用java Spark
  • Hadoop HDFS指令

    2018-11-27 15:23:43
    命令 说明 执行:hadoop fs -mkdir /park 在hdfs 的根目录下,创建 park目录 ... 查看hdfs根目录下有哪些目录 hadoop fs -cp /park01/1.txt /park02 ...
  • HDFS命令行接口

    2017-03-02 21:53:57
    对HDFS的操作方式 hadoop fs XXXhadoop fs -ls / 查看hdfs根目录下的内容 hadoop fs -lsr / 递归查看hdfs的根目录下的内容 hadoop fs -mkdir /d1 在hdfs创建文件夹d1 hadoop fs -put (linux source) (hdfs ...
  • HDFS基本操作

    2019-10-06 20:22:43
    hdfs dfs -ls . 表示列出HDFS某个目录下的所有内容,“.”表示HDFS中的当前用户目录,如果没有“.”为列出所有目录。... hdfs dfs -mkdir input or /input 后者为在HDFS根目录下,前者为创建在当前的目录下? ...
  • hdfs命令

    2018-07-18 17:41:04
    一,查看hdfs文件 ...hadoop fs -ls / 查看HDFS根目录 二,下载hdfs文件 hadoop fs -get /test/test.txt /home/hbase 三,删除hdfs文件或者文件夹 hadoop fs -rm /test1/test.txt hadoop fs -rmr /test1...
  • 2.HDFS应用

    2020-07-08 16:14:29
    实验目的 掌握HDFS安装、HDFS命令和HDFS Java API编程。 实验内容 掌握HDFS命令使用方法; 熟悉开发环境配置和编码过程; 掌握HDFS Java API的基本...在HDFS根目录创建文件夹test; 从Linux中上传一个文件至...
  • hdfs创建目录时遇到的连接问题

    千次阅读 2017-09-08 11:56:10
    再执行创建目录: hduser@Ubuntu1:~/hadoop$ ./bin/hadoop fs -mkdir /filename 17/09/07 20:38:58 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java...
  • ```bash hadoop fs -ls /com-nio-insight-prod/dwh/ hadoop fs -mkdir -p /com-nio-insight-prod/dwh/urd_myd/ create database urd_myd_data_dwd_prod location '/... hdfs://swc-cdh//com-nio-insight-prod/dwh/u.
  • 团队成员在做存储时遇到一个问题,在hdfs目录写了数据后,使用hive外部表挂载,挂载的目录如下/datamart-kafka-compare-OUT/datamart_kafka_compare_OUT/T_626 而实际在T_626目录下还不是文件,还是目录(忽略红...
  • 单独启动hdfs查看启动的服务查看hdfs根目录查看hdfs根目录(简写)hdfs的管理界面Linux上文件上传到hdfs查看hdfs根目录的某个文件的内容分页查看hdfs根目录的某个文件的内容查看hdfs根目录下文件(包括文件夹中的...
  • HDFSHDFS的shell操作

    2015-11-11 19:58:43
    #hadoop fs -ls / 查看HDFS根目录 #hadoop fs -mkdir /test 在根目录创建一个目录test #hadoop fs -mkdir /test1 在根目录创建一个目录test1 #echo -e 'hadoop second lesson' >test.txt #hadoop fs -put ./test.txt...
  • 第六章:HDFS的I/O流操作(扩展) 上面我们学的API操作HDFS系统都是...需求:把本地d盘上的QQ里面的QQWhatsnew.txt文件上传到HDFS根目录 编写代码 /** * 把本地D盘上的/QQ/QQWhatsnew.txt文件上传到HDFS根目录 ...
  • 把/home/hadoop/MyTmp/test.txt文件上传到HDFS根目录 // 把/home/hadoop/MyTmp/test.txt文件上传到HDFS根目录 @Test public void putFileToHDFS() throws IOException, InterruptedException, URISyntaxException...
  • 例如:查看hdfs根目录文件hadoop fs -ls / 查看hdfs根目录下的文件查看 /hollycrm/data01下文件hadoop fs -ls /hollycrm/data01结果:结果是文件夹Found 5 items drwxr-xr-x - root root 0 2017-04-18 10:30 /h
  • HDFS其实很简单,分分钟学会

    万次阅读 多人点赞 2020-05-12 21:47:54
    HDFS (一)HDFS的命令行操作 1. HDFS操作命令(HDFS操作命令帮助信息:hdfs dfs) 命令 说明 示例 ...在HDFS上创建目录/data: hdfs dfs -mkdir /data ...查看HDFS根目录下的文件和目录: hdfs dfs -ls / 查看HDFS的/da
  • HDFS的I/O流操作

    千次阅读 2020-08-12 16:32:55
    1.需求:把本地d盘上的xiaoyue.txt文件上传到HDFS根目录 2.编写代码 //需求:把本地d盘上的xiaoyue.txt文件上传到HDFS根目录 @Test public void putFileToHDFS() throws URISyntaxException, IOException, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,849
精华内容 6,739
关键字:

hdfs根目录