iojsioi 发表于 2018-10-28 11:19:11

2018-07-19期 Hadoop HDFS DataNode功能

  一、DataNode功能及特性
  (1)提供真实文件数据的存储服务。
  (2)文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。
  (3)HDFS默认Block大小是128MB,以一个256MB文件,共有256/128=2个Block. 不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间,   (这样设置可以减轻namenode压力,因为namonode维护着文件与数据块列表的对应大小)
  (4)Replication。多复本。默认是三个。(hdfs-site.xml的dfs.replication属性)
  注意区别:一个文件可以产生多个快,多个文件是不可能成为一个块信息的,处于减轻namenode的压力,最好的方式就是一个文件一个块
  二、DataNode 存储目录的文件结构以及特点
  DataNode数据保存在如下目录:
  $HADOOP_HOME/tmp/dfs/data
  # ll
  total 8
  drwxr-xr-x. 3 root root 4096 Jun 15 00:51 current
  -rw-r--r--. 1 root root   20 Jul 15 22:21 in_use.lock
  # cd current/
  # ll
  total 8
  drwx------. 4 root root 4096 Jul 15 22:21 BP-1300855425-192.168.1.201-1529048649163
  -rw-r--r--. 1 root root229 Jul 15 22:21 VERSION
  /usr/local/apps/hadoop-2.4.1/tmp/dfs/data/current/BP-1300855425-192.168.1.201-1529048649163/current/finalized
  # ll blk_107374*
  -rw-r--r--. 1 root root 134217728 Jun 18 18:46 blk_1073741825
  -rw-r--r--. 1 root root   1048583 Jun 18 18:46 blk_1073741825_1001.meta
  -rw-r--r--. 1 root root   4439028 Jun 18 18:46 blk_1073741826
  -rw-r--r--. 1 root root   34687 Jun 18 18:46 blk_1073741826_1002.meta
  -rw-r--r--. 1 root root      11 Jul4 23:38 blk_1073742895_2071.meta
  drwxr-xr-x. 2 root root      4096 Jun 22 08:21 subdir0
  drwxr-xr-x. 2 root root      4096 Jun 22 08:21 subdir1
  drwxr-xr-x. 2 root root      4096 Jun 22 08:21 subdir10
  drwxr-xr-x. 2 root root      4096 Jun 22 08:21 subdir11
  drwxr-xr-x. 2 root root      4096 Jun 22 08:21 subdir12
  blocksBeingWritten:保存了客户端发起的,当前正在写的数据块;
  detach:用于配合数据节点升级,==数据块分离==操作时的临时文件夹;
  tmp:保存了用于数据块复制时,当前正在写的数据块;
  in_user.lock:表示当前目录已经被使用,实现了一种锁机制,这样DataNode可以独自使用该目录;
  current:保存了已写入HDFS文件系统的数据块和一些系统工作时需要的文件;
  blk_开头的文件:HDFS数据块,用来保存HDFS文件内容;
  .meta后缀文件:CRC32校验文件,保存数据块的校验信息;
  当current目录达到一定规模时(由配置项${dfs.datanode.numblocks}指定),DataNode会在current目录下新创建一个子目录subdir*,用于保存新的数据块和元数据。
  默认配置下,current目录下最多只有64个数据块(128个文件)和64个子目录。通过这种手段,DataNode既保证目录不会太深,影响文件检索性能,同时也避免了某个目录保存大量的数据块。

页: [1]
查看完整版本: 2018-07-19期 Hadoop HDFS DataNode功能