HDFS处理文件的命令和Linux命令差不多,但注意区分大小写。

(Linux区分大小写,Windows不区分大小写)

一、fs命令

键入命令“./bin/hadoop fs”将输出能够支持的命令列表。

Usage: java FsShell

[-ls <path>]

[-lsr <path>]

[-df <path>]

[-du [-s] [-h] <path>]

[-dus <path>]

[-count [-q] <path>]

[-mv <src> <dst>]

[-cp <src> <dst>]

[-rm [-skipTrash] <path>]

[-rmr [-skipTrash] <path>]

[-expunge]

[-put <localsrc> … <dst>]

[-copyFromLocal <localsrc> … <dst>]

[-moveFromLocal <localsrc> … <dst>]

[-get [-ignoreCrc] [-crc] <src> <localdst>]

[-getmerge <src> <localdst> [addnl]]

[-cat <src>]

[-text <src>]

[-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>]

[-moveToLocal [-crc] <src> <localdst>]

[-mkdir <path>]

[-setrep [-R] [-w] <rep> <path/file>]

[-touchz <path>]

[-test –[ezd] <path>]

[-stat [format] <path>]

[-tail [-f] <file>]

[-chmod [-R] <MODE[, MODE] … | OCTALMODE> PATH…]

[-chown [-R] [OWNER] [: [GROUP]] PATH…]

[-chmod [-R] GROUP PATH…]

[-help [cmd]]

下面说说最主要的几个命令。

1. 创建文件夹

HDFS上的文件目录结构类似Linux,根目录使用/表示。下面的命令在/user/hadoop目录下建立input。

denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –mkdir /user/hadoop/input

denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –ls /user/hadoop

Found1 items

drwxr-xr-x  - denny supergroup     0  2014-09-21  23:38  /user/hadoop/input

2. 上传文件test.txt到input下。

denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –put test.txt /user/hadoop/input

denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –ls /user/hadoop/input

Found1 items

-rw-r--r--1 denny supergroup      75  2014-09-21  23:45  /user/hadoop/input/test.txt

还可以用-copyFromLocal命令。

3.查看test.txt文件内容

denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –text /user/hadoop/input/test.txt

helloworld

helloworld…

还可以用-cat、-tail命令查看文件内容,但是对于压缩文件只能用-text参数查看,否则是乱码。

4.把test.txt文件复制到本地(下载,导出)

denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –get /user/hadoop/input/test.txt

还可以用-copyToLocal命令。

5.删除test.txt文件

denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –rm /user/hadoop/input/test.txt

二、namenode命令

运行namenode进行格式化、升级、回滚等操作。

命令选项

功能描述

-format

格式化NameNode,启动NameNode,格式化NameNode,之后关闭NameNode

-upgrade

分发新版本的Hadoop后,NameNode应以upgrade选项启动

-rollback

将NameNode回滚到前一版本。此选项要在停止集群、分发Hadoop旧版本后使用

-finalize

删除文件系统的前一状态。最近的升级会被持久化,rollback选项将再不可用升级终结操作之后,会停掉NameNode

-importCheckPoint

从检查点目录装在镜像并保存到当前检查点目录,检查点目录由fs.checkpoint.dir指定

(注:Hadoop集群第一次启动时一定要格式化NameNode,否则NameNode会报错)

三、job命令

命令选项

功能描述

-submit <job file>

提交作业

-status <job-id>

打印Map和Reduce完成百分比和所计数器

-counter <job-id> <group-name> <counter-name>

打印计数器的值

-kill <job-id>

杀死指定作业

-events <job-id> <from-event-#> <#-of-events>

打印给定范围内的JobTracker接收到的事件细节

-history [all] <jobOutputDir>

-history <jobOutputDir>用于打印作业细节,失败及被杀死原因细节。更多关于一个作业细节(如成功的任务、做过的任务尝试等信息)可以通过指定[all]选项查看

-list [all]

显示所有作业。-list只显示将要完成的作业

-kill-task <task-id>

杀死任务,被杀死的任务不会不利于失败尝试

-fail-task <task-id>

使任务失败,被失败的任务会对失败尝试不利

四、fsck命令

显示块的信息,列出文件系统中各文件由那些块构成。用于和MapReduce作业交互和命令。

命令选项

描述信息

<path>

检查起始的目录

-move

移动受损文件到/lost+found

-delete

删除受损文件

openforwrite

打印写打开的文件

-files

打印正在被检查的文件

-blocks

打印块信息报告

-locations

打印每个块的位置信息

-racks

打印datanode的网络拓扑结构

五、pipe命令

该命令用于运行pipe作业。

命令选项

描述信息

-conf <path>

作业的配置

-jobconf <key=value>, <key=value>, …

增加/覆盖作业的配置项

-input <path>

输入目录

-output <path>

输出目录

-jar<jar file>

JAR文件名

-inputformat <class>

InputFormat类

-map <class>

Java Map类

-partitioner <class>

Java Partitioner

-reduce <class>

Java Reduce类

-write <class>

Java RecordWriter

-program <executable>

可执行程序的URI

-reduces <num>

Reduce个数

【Hadoop】HDFS笔记(三):HDFS的Shell操作的更多相关文章

  1. Hadoop学习笔记(三) ——HDFS

    参考书籍:<Hadoop实战>第二版 第9章:HDFS详解 1. HDFS基本操作 @ 出现的bug信息 @-@ WARN util.NativeCodeLoader: Unable to ...

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

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

  3. Hadoop学习笔记: HDFS

    注:该文内容部分来源于ChinaHadoop.cn上的hadoop视频教程. 一. HDFS概述 HDFS即Hadoop Distributed File System, 源于Google发表于200 ...

  4. shell脚本编程学习笔记(四)shell操作数据库

    一.数据库基本操作 1)登录mysql服务器:mysql -u root -p 密码 2)查看数据库:show databases 3)查看表:show tales from db; 4)查看表结构: ...

  5. hadoop学习笔记贰 --HDFS及YARN的启动

    1.初始化HDFS :hadoop namenode -format 看到如下字样,说明初始化成功. 启动HDFS,start-dfs.sh 终于启动成功了,原来是core-site.xml  中配置 ...

  6. Hadoop学习笔记三

    一.设置HDFS不进行权限检查 默认的HDFS上的文件类似于Linux中的文件,是有权限的.例如test用户创建的文件,root用户如果没有写权限,则不能进行删除. 有2种办法进行修改,修改文件的权限 ...

  7. MYSQL初级学习笔记三:数据的操作DML!(视频序号:初级_24,25,36)

    知识点五:数据的操作DML(24,25,36) 插入数据: --测试插入记录INSERT CREATE TABLE IF NOT EXISTS user13( id TINYINT UNSIGNED ...

  8. SQL学习笔记三之MySQL表操作

    阅读目录 一 存储引擎介绍 二 表介绍 三 创建表 四 查看表结构 五 数据类型 六 表完整性约束 七 修改表ALTER TABLE 八 复制表 九 删除表 一 存储引擎介绍 存储引擎即表类型,mys ...

  9. Hibernate学习笔记三:常用数据库操作语句

    转载请注明原文地址: 一:HQL 1:HQL语句格式:select from POJO类名 where 条件表达式 group by 属性 having 聚集函数 order by 属性 [其中,fr ...

  10. Hadoop读书笔记(二)HDFS的shell操作

    Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 1.shell操作 1.1全部的HDFS ...

随机推荐

  1. 深度解析开发项目之 02 - 使用VTMagic实现左右滑动的列表页

    深度解析开发项目之 02 - 使用VTMagic实现左右滑动的列表页 实现效果: 01 - 导入头文件 02 - 遵守代理协议 03 - 声明控制器的属性 04 - 设置声明属性的frame 05 - ...

  2. NXP 公司的 RFID 卡

    NXP 公司的 RFID 卡 NXP RFID MIFARE 产品概览   MIFARE 系列: Mifare Ultralight,简称 MF0. Mifare Classic,简称 MF1 M ...

  3. .Net——实现IConfigurationSectionHandler接口定义处理程序处理自定义节点

    除了使用.net里面提供的内置处理程序来处理我们的自定义节点外,我们还可以通过多种方法,来自己定义处理类处理我们的自定义节点,本文主要介绍通过实现IConfigurationSectionHandle ...

  4. EasyDarwin开源流媒体云平台之云台ptz控制设计与实现

    本文转自EasyDarwin开源团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/51912692 近日,EasyDarwin云平 ...

  5. WF中的Bookmark

    最近在学习WF, 把自己的一些学习心得放上来 Bookmark允许你以事件驱动的方式与一个Workflow内的Activity进行交互. 如果把启动一个workflow比做开始读一本书, 在Workf ...

  6. Liquibase

    http://www.liquibase.org/documentation/index.html https://github.com/studygolang/studygolang/tree/ma ...

  7. 什么是 CAS 机制?

    1.Synchronized关键字 Synchronized关键字会让没有得到锁资源的线程进入BLOCKED状态,而后在争夺到锁资源后恢复为RUNNABLE状态,这个过程中涉及到操作系统用户模式和内核 ...

  8. 2017NOIP游记 (格式有点炸)

    NOIP游记 作者:一只小蒟蒻 时间可真快呀!还记得我第一次接触信息竞赛时,hello world都要调好久,不知不觉就考完了2017noip,自我感觉良好(虽然还是有很多不足). 这两个月的闭关,让 ...

  9. Python序列——元组

    元组是什么 1 创建元组 2 访问元组中的值 3 更新元组中的元素 4 删除元组中的元素或者元组本身 元组相关操作 内建函数对元组的支持 1 序列类型函数 2 元组内建函数 元组的特殊性 1. 元组是 ...

  10. java多线程-多线程常识

    线程和进程的区别是什么?进程是一个正在运行的软件程序,打开资源管理器可以看到好多正在运行的进程,而线程则是程序中的顺序控制流,只能使用分配给程序的资源和环境.一个进程至少存在一个线程(主线程). 在j ...