zoukankan      html  css  js  c++  java
  • Hadoop学习记录(2)|HDFS shell命令|体系结构

    HDFS的shell

    调用文件系统(FS)shell命令使用hadoop fs的形式

    所有的FS shell命令使用URI路径作为参数。

    URI格式是scheme://authority/path。HDFS的scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。

     例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/child,或者更简单的/parent/child(假设配置文件是namenode:namenodePort)

    HDFS fs命令

    clip_image001 -help [cmd] //显示命令的帮助信息

    clip_image001[1] -ls(r) <path> //显示当前目录下所有文件

    clip_image001[2] -du(s) <path> //显示目录中所有文件大小

    clip_image001[3] -count[-q] <path> //显示目录中文件数量

    clip_image001[4] -mv <src> <dst> //移动多个文件到目标目录

    clip_image001[5] -cp <src> <dst> //复制多个文件到目标目录,不能用*通配符,否则指向本地磁盘。

    [root@h1 conf]# hadoop fs -cp /tmp/* /root/

    cp: File does not exist: /tmp/hadoop-root-datanode.pid

    cp: File does not exist: /tmp/hadoop-root-jobtracker.pid

    cp: File does not exist: /tmp/hadoop-root-namenode.pid

    cp: File does not exist: /tmp/hadoop-root-secondarynamenode.pid

    cp: File does not exist: /tmp/hadoop-root-tasktracker.pid

    cp: File does not exist: /tmp/hsperfdata_root

    cp: File does not exist: /tmp/Jetty_0_0_0_0_50030_job____yn7qmk

    cp: File does not exist: /tmp/Jetty_0_0_0_0_50060_task____.2vcltf

    cp: File does not exist: /tmp/Jetty_0_0_0_0_50070_hdfs____w2cu08

    cp: File does not exist: /tmp/Jetty_0_0_0_0_50075_datanode____hwtdwq

    cp: File does not exist: /tmp/Jetty_0_0_0_0_50090_secondary____y6aanv

    cp: File does not exist: /tmp/ssh-pyNDMS3249

    clip_image001[6] -rm(r) //删除文件(夹)

    clip_image001[7] -put <localsrc> <dst> //本地文件复制到hdfs

    clip_image001[8] -copyFromLocal //同put

    clip_image001[9] -moveFromLocal //从本地文件移动到hdfs

    clip_image001[10] -get [-ignoreCrc] <src> <localdst> //复制文件到本地,可以忽略crc校验

    clip_image001[11] -getmerge <src> <localdst> //将源目录中的所有文件排序合并到一个文件中

    clip_image001[12] -cat <src> //在终端显示文件内容

    clip_image001[13] -text <src> //在终端显示文件内容

    clip_image001[14] -copyToLocal [-ignoreCrc] <src> <localdst> //复制到本地

    clip_image001[15] -moveToLocal <src> <localdst> 提示is not implemented yet 没有实现这个功能。

    clip_image001[16] -mkdir <path> //创建文件夹

    clip_image001[17] -touchz <path> //创建一个空文件

    HDFS体系结构

    Namenode

    是整个文件系统的管理节点,它维护者整个文件系统的文件目录树,文件或目录的原信息和每个文件对应的数据块列表,并接收用户的操作请求。

    文件包括:

    fsimage:元数据镜像文件,存储某一时段。namnode内存元数据信息

    dfs.name.dir 参数可以配置多个目录,保存多份。

    <property>

    <name>dfs.name.dir</name>

    <value>${hadoop.tmp.dir}/dfs/name,/data/dfs/name</value>

    <description>Determines where on the local filesystem the DFS name node

    should store the name table(fsimage). If this is a comma-delimited list

    of directories then the name table is replicated in all of the

    directories, for redundancy. </description>

    </property>

    edits:操作日志文件

    保存事务性日志,如果上传成功了保存在里面,没上传成功信息将删除。

    如何转移到fsimage呢?通过secondaryNameNode来完成的。

    定期进行合并保存到fsimage,时间记录在fstime中。

    fstime:保存最近一次chackpoint的时间

    <property>

    <name>fs.checkpoint.period</name>

    <value>3600</value>

    <description>The number of seconds between two periodic checkpoints.

    </description>

    </property>

    <property>

    <name>fs.checkpoint.size</name>

    <value>67108864</value>

    <description>The size of the current edit log (in bytes) that triggers

    a periodic checkpoint even if the fs.checkpoint.period hasn't expired.

    </description>

    </property>

    DataNode

    提供真实文件数据的存储服务

    以文件块的形式存储,默认大小64M。

    <property>

    <name>dfs.block.size</name>

    <value>67108864</value>

    <description>The default block size for new files.</description>

    </property>

    不同于普通文件系统的是,HDFS中如果一个文件小于数据块大小,并不占用整个数据块存储空间,而是以实际的数据大小存储。

    Replication,多副本,默认3个

    <property>

    <name>dfs.replication</name>

    <value>3</value>

    <description>Default block replication.

    The actual number of replications can be specified when the file is created.

    The default is used if replication is not specified in create time.

    </description>

    </property>

    SecondaryNameNode

    HA的一个解决方案,不支持热备,2.0版本支持。

    执行过程:从Namenode上下载元数据信息(fsimage,edits),在本地保存并将其推送到Namenode,同时重置Namenode的edits。

    默认安装在Namenode节点上,不安全!生成环境配置为独立服务器。

    设置$HADOOP_HOME/conf/master中设置!

  • 相关阅读:
    数据库导出_导入
    vc6如何调试带参数的main函数
    配置mes
    vc调试大全
    C#中out和ref之间的区别
    TSQL 控制流语句
    删除文件夹及文件夹内的文件
    数据库 存储 研究方向 关键词
    apache 监听多端口
    js 产生随机数
  • 原文地址:https://www.cnblogs.com/luguoyuanf/p/3593631.html
Copyright © 2011-2022 走看看