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命令

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

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

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

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

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

-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_hdfsw2cu08

cp: File does not exist: /tmp/Jetty_0_0_0_0_50075_datanodehwtdwq

cp: File does not exist: /tmp/Jetty_0_0_0_0_50090_secondary___y6aanv

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

-rm(r) //删除文件(夹)

-put <localsrc> <dst> //本地文件复制到hdfs

-copyFromLocal //同put

-moveFromLocal //从本地文件移动到hdfs

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

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

-cat <src> //在终端显示文件内容

-text <src> //在终端显示文件内容

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

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

-mkdir <path> //创建文件夹

-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中设置!

Hadoop学习记录(2)|HDFS shell命令|体系结构的更多相关文章

  1. HDFS - Shell命令

    HDFS - Shell命令 最近学习比较忙,本来想做一个搭建集群笔记,今天先记录HDFS-shell命令,明天,最迟明天下午我一定会做一个搭建集群的笔记.. 介绍一个我的集群搭建:一主三从 3个虚拟 ...

  2. HDFS shell命令行常见操作

    hadoop学习及实践笔记—— HDFS shell命令行常见操作 附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop ...

  3. Hadoop学习笔记之HBase Shell语法练习

    Hadoop学习笔记之HBase Shell语法练习 作者:hugengyong 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令 ...

  4. hdfs shell命令及java客户端编写

    一. hdfs shell命令 可以通过hadoop fs 查看所有的shell命令及其用法. 传文件到hdfs: hadoop fs -put /home/koushengrui/Downloads ...

  5. Hadoop集群常用的shell命令

    Hadoop集群常用的shell命令 Hadoop集群常用的shell命令 查看Hadoop版本 hadoop -version 启动HDFS start-dfs.sh 启动YARN start-ya ...

  6. Hadoop学习笔记(2)-HDFS的基本操作(Shell命令)

    在这里我给大家继续分享一些关于HDFS分布式文件的经验哈,其中包括一些hdfs的基本的shell命令的操作,再加上hdfs java程序设计.在前面我已经写了关于如何去搭建hadoop这样一个大数据平 ...

  7. hadoop 学习(三)之hdfs shell命令

    1.HDFS shell 1.0查看帮助  hadoop fs -help <cmd> 1.1上传  hadoop fs -put <linux上文件> <hdfs上的路 ...

  8. hadoop学习笔记(五):HDFS Shell命令

    一.HDFS文件命令 以下是比较重要的一些命令: [root@master01 hadoop]# hadoop fs -ls / //查看根目录下的所有文件 [root@master01 hadoop ...

  9. hadoop2.5.2学习及实践笔记(五)—— HDFS shell命令行常见操作

    附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/FileSy ...

随机推荐

  1. 关于 hashCode() 你需要了解的 3 件事

    (点击上方公众号,可快速关注) 原文:eclipsesource 译文:ImportNew - 南半球 链接:http://www.importnew.com/16517.html 在 Java 中, ...

  2. java 中 sleep(1000) 和 wait(1000) 的区别?

    1.首先 sleep 方法是Thread类中的静态方法,他的作用是使当前线程暂时睡眠指定的时间,可以不用放在synchronized方法或者代码块中,但是 wait 方法是Object类的方法,它是使 ...

  3. iOS实现地图半翻页效果--老代码备用参考

    // Curl the image up or down CATransition *animation = [CATransition animation]; [animation setDurat ...

  4. ios阻止锁屏 --老代码,供参考

    // Disable the idle timer [[UIApplication sharedApplication] setIdleTimerDisabled: YES];    // Or fo ...

  5. [转].NET程序在windows操作系统上独立运行的技术要点

    发现一个不错的网站,转载一篇文章方便查看 转自 http://www.linuxdot.net/bbsfile-3354   ===================================== ...

  6. 一组神奇的 3D Gif 动图

    本文由 极客范 - 黄利民 翻译自 mymodernmet.欢迎加入极客翻译小组,同我们一道翻译与分享.转载请参见文章末尾处的要求. 虽然 gif 动图/动画似乎是无处不在现在了,但有些聪明人已经把 ...

  7. 李洪强漫谈iOS开发[C语言-024]-表达式与赋值运算符

  8. 《STL源码剖析》笔记

    STL六大组件 1.容器(container):各种数据结构,如vector,list,deque,set,map等 2.算法(algorithm):各种常用算法如sort,search,copy,e ...

  9. 让QT编译快一点(增加基础头文件)

    姚冬,中老年程序员 进藤光.杨个毛.欧阳修 等人赞同 我是来反对楼上某些答案的.我曾经用MFC写了金山词霸(大约20多万行),又用Qt写了YY语音(大约100多万行),算是对两种框架都比较有经验.纠正 ...

  10. VCL+FMX 双剑合壁编程

    VCL 是经典,FMX 是新生,新生事物总会带来一些好玩新奇的东西.舍弃经典是浪费,不了解新生事物是等死,那么我们来一个二合一双剑合壁又如何呢? 要双剑合壁,就得投些机,取些巧.由于 Delphi / ...