`
ssxxjjii
  • 浏览: 948642 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HDFS Shell操作練習

 
阅读更多

http://trac.nchc.org.tw/cloud/wiki

Content 1. HDFS Shell基本操作

1.1 瀏覽你HDFS目錄

/opt/hadoop$ bin/hadoop fs -ls

1.2 上傳資料到HDFS目錄

  • 上傳
/opt/hadoop$ bin/hadoop fs -put conf input
  • 檢查
/opt/hadoop$ bin/hadoop fs -ls
/opt/hadoop$ bin/hadoop fs -ls input

 

1.3 下載HDFS的資料到本地目錄

  • 下載
/opt/hadoop$ bin/hadoop fs -get input fromHDFS
  • 檢查
/opt/hadoop$ ls -al | grep fromHDFS
/opt/hadoop$ ls -al fromHDFS

1.4 刪除檔案

/opt/hadoop$ bin/hadoop fs -ls input
/opt/hadoop$ bin/hadoop fs -rm input/masters

1.5 直接看檔案

/opt/hadoop$ bin/hadoop fs -ls input
/opt/hadoop$ bin/hadoop fs -cat input/slaves

1.6 更多指令操作

hadooper@vPro:/opt/hadoop$ bin/hadoop fs 

Usage: java FsShell
           [-ls <path>]
           [-lsr <path>]
           [-du <path>]
           [-dus <path>]
           [-count[-q] <path>]
           [-mv <src> <dst>]
           [-cp <src> <dst>]
           [-rm <path>]
           [-rmr <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...]
           [-chgrp [-R] GROUP PATH...]
           [-help [cmd]]

Generic options supported are
-conf <configuration file>     specify an application configuration file
-D <property=value>            use value for given property
-fs <local|namenode:port>      specify a namenode
-jt <local|jobtracker:port>    specify a job tracker
-files <comma separated list of files>    specify comma separated files to be copied to the map reduce cluster
-libjars <comma separated list of jars>    specify comma separated jar files to include in the classpath.
-archives <comma separated list of archives>    specify comma separated archives to be unarchived on the compute machines.
The general command line syntax is
bin/hadoop command [genericOptions] [commandOptions]

 

Content 2. 使用網頁Gui瀏覽資訊

 

 

Content 3. 更多HDFS shell 的用法

 

  • bin/hadoop fs <args> ,下面則列出 <args> 的用法
  • 以下操作預設的目錄在 /user/<$username>/ 下
    $ bin/hadoop fs -ls input
    Found 4 items
    -rw-r--r--   2 hadooper supergroup  115045564 2009-04-02 11:51 /user/hadooper/input/1.txt
    -rw-r--r--   2 hadooper supergroup     987864 2009-04-02 11:51 /user/hadooper/input/2.txt
    -rw-r--r--   2 hadooper supergroup    1573048 2009-04-02 11:51 /user/hadooper/input/3.txt
    -rw-r--r--   2 hadooper supergroup   25844527 2009-04-02 11:51 /user/hadooper/input/4.txt
    
  • 完整的路徑則是  hdfs://node:port/path 如:
    $ bin/hadoop fs -ls hdfs://gm1.nchc.org.tw:9000/user/hadooper/input
    Found 4 items
    -rw-r--r--   2 hadooper supergroup  115045564 2009-04-02 11:51 /user/hadooper/input/1.txt
    -rw-r--r--   2 hadooper supergroup     987864 2009-04-02 11:51 /user/hadooper/input/2.txt
    -rw-r--r--   2 hadooper supergroup    1573048 2009-04-02 11:51 /user/hadooper/input/3.txt
    -rw-r--r--   2 hadooper supergroup   25844527 2009-04-02 11:51 /user/hadooper/input/4.txt
    

-cat

  • 將路徑指定文件的內容輸出到stdout
    $ bin/hadoop fs -cat quota/hadoop-env.sh
    

-chgrp

  • 改變文件所屬的組
    $ bin/hadoop fs -chgrp -R hadooper own
    

-chmod

  • 改變文件的權限
    $ bin/hadoop fs -chmod -R 755 own
    

-chown

  • 改變文件的擁有者
    $ bin/hadoop fs -chown -R hadooper own
    

-copyFromLocal, -put

  • 從local放檔案到hdfs
    $ bin/hadoop fs -put input dfs_input
    

-copyToLocal, -get

  • 把hdfs上得檔案下載到 local
    $ bin/hadoop fs -get dfs_input input1
    

-cp

  • 將文件從hdfs原本路徑複製到hdfs目標路徑
    $ bin/hadoop fs -cp own hadooper
    

-du

  • 顯示目錄中所有文件的大小
    $ bin/hadoop fs -du input
    
    Found 4 items
    115045564   hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/1.txt
    987864      hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/2.txt
    1573048     hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/3.txt
    25844527    hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/4.txt
    

-dus

  • 顯示該目錄/文件的總大小
    $ bin/hadoop fs -dus input
    
    hdfs://gm1.nchc.org.tw:9000/user/hadooper/input	143451003
    

-expunge

  • 清空垃圾桶
    $ bin/hadoop fs -expunge
    

-getmerge

  • 將來源目錄<src>下所有的文件都集合到本地端一個<localdst>檔案內
  • bin/hadoop fs -getmerge <src> <localdst>
    $ echo "this is one; " >> in1/input
    $ echo "this is two; " >> in1/input2
    $ bin/hadoop fs -put in1 in1
    $ bin/hadoop fs -getmerge in1 merge.txt
    $ cat ./merge.txt
    

-ls

  • 列出文件或目錄的資訊
  • 文件名 <副本數> 文件大小 修改日期 修改時間 權限 用戶ID 組ID
  • 目錄名 <dir> 修改日期 修改時間 權限 用戶ID 組ID
    $ bin/hadoop fs -ls
    

-lsr

  • ls命令的遞迴版本
    $ bin/hadoop fs -lsr /
    

-mkdir

  • 建立資料夾
    $ bin/hadoop fs -mkdir a b c
    

-moveFromLocal

  • 將local端的資料夾剪下移動到hdfs上
    $ bin/hadoop fs -moveFromLocal in1 in2
    

-mv

  • 更改資料的名稱
    $ bin/hadoop fs -mv in2 in3
    

-rm

  • 刪除指定的檔案(不可資料夾)
    $ bin/hadoop fs -rm in1/input
    

-rmr

  • 遞迴刪除資料夾(包含在內的所有檔案)
    $ bin/hadoop fs -rmr in1
    

-setrep

  • 設定副本係數
  • bin/hadoop fs -setrep [-R] [-w] <rep> <path/file>
    $ bin/hadoop fs -setrep -w 2 -R input 
    Replication 2 set: hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/1.txt
    Replication 2 set: hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/2.txt
    Replication 2 set: hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/3.txt
    Replication 2 set: hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/4.txt
    Waiting for hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/1.txt ... done
    Waiting for hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/2.txt ... done
    Waiting for hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/3.txt ... done
    Waiting for hdfs://gm1.nchc.org.tw:9000/user/hadooper/input/4.txt ... done
    

-stat

  • 印出時間資訊
    $ bin/hadoop fs -stat input
    2009-04-02 03:51:29
    

-tail

  • 將文件的最後1k內容輸出
  • 用法 : bin/hadoop fs -tail [-f] 檔案 (-f 參數用來顯示如果檔案增大,則秀出被append上得內容)
    $ bin/hadoop fs -tail input/1.txt
    

-test

  • 測試檔案, -e 檢查文件是否存在(1=存在, 0=否), -z 檢查文件是否為空(1=空, 0=不為空), -d 檢查是否為目錄(1=存在, 0=否)
    • 要用echo $? 來看回傳值為 0 or 1
  • 用法: bin/hadoop fs -test -[ezd] URI

 

$ bin/hadoop fs -test -e /user/hadooper/input/5.txt
$ bin/hadoop fs -test -z /user/hadooper/input/5.txt
test: File does not exist: /user/hadooper/input/5.txt
$ bin/hadoop fs -test -d /user/hadooper/input/5.txt

test: File does not exist: /user/hadooper/input/5.txt

-text

  • 將檔案(如壓縮檔, textrecordinputstream)輸出為純文字格式
  • hadoop fs -text <src>
    $ hadoop fs -text macadr-eth1.txt.gz
    00:1b:fc:61:75:b1
    00:1b:fc:58:9c:23
    
  • ps : 目前沒支援zip的函式庫
    $ bin/hadoop fs -text b/a.txt.zip
    PK
    ���:��H{
            a.txtUT	b��Ib��IUx��sssss
    test
    PK
    ���:��H{
    ��a.txtUTb��IUxPK@C
    

-touchz

  • 建立一個空文件
    $ bin/hadoop fs -touchz b/kk
    $ bin/hadoop fs -test -z b/kk
    $ echo $?
    1
    $ bin/hadoop fs -test -z b/a.txt.zip
    $ echo $?
    0
    
分享到:
评论

相关推荐

    HDFSShell命令综合练习.pdf

    在Hadoop分布式文件系统(HDFS)的管理中,Shell命令是操作HDFS的基本工具,用于执行文件和目录的创建、查看、上传、下载、复制、移动、删除等操作。以下是对HDFS Shell命令的详细解释: 1. **创建文件夹**: 使用`...

    厦门大学-林子雨-大数据技术基础-第3章 分布式文件系统HDFS-上机练习-熟悉常用的HDFS操作

    在本次上机练习中,学生需要熟悉常用的HDFS操作,包括使用Shell命令和Java API。首先,学生需要理解HDFS在Hadoop体系结构中的角色,然后熟练使用HDFS操作常用的Shell命令,最后熟悉HDFS操作常用的Java API。 本次...

    Hadoop之HDFS的shell操作

    HDFS的java客户端操作:https://blog.csdn.net/weixin_45102492/article/details/104378020 Hadoop之HDFS的数据流:https://blog.csdn.net/weixin_45102492/article/details/104384789 NameNode和SecondaryNameNode...

    大数据平台构建:访问HDFS.pptx

    HDFS Shell 是与HDFS交互的一种命令行工具,它使得用户可以通过类似于Unix Shell的命令在HDFS上执行各种操作。本篇文章将详细介绍如何通过HDFS Shell命令来访问和管理HDFS。 1. **HDFS Shell命令基础**: - 使用`...

    代码-Windows环境下对Linux环境下的HDFS进行基本操作.zip

    这通常包括创建、读取、写入和删除文件的练习,帮助初学者熟悉HDFS的基本操作。 9. **运维注意事项**:在实际运维过程中,需要注意监控HDFS的健康状态,定期进行数据检查和备份,以及正确处理数据块的丢失和复制...

    hadoop shell命令

    Hadoop Shell命令为用户提供了对HDFS进行文件操作、执行MapReduce任务、管理集群状态的强大工具。熟练掌握这些命令对于高效管理和利用Hadoop集群至关重要。无论是进行日常的文件管理,还是执行复杂的数据分析任务,...

    Hadoop应用开发-实验指导书.doc

    主要分为以下几个部分:Hadoop环境准备与本地模式、Hadoop伪分布式集群模式、Hadoop完全分布式集群模式、HDFS Shell命令以及MapReduce入门案例wordcount。 ### Hadoop环境准备及本地模式 #### 实验目的 - 掌握...

    linux练习题(含答案).doc

    本文将详细讲解 Linux 练习题的答案,涵盖 GNOME 面板的组成和功能、文件和文件夹的创建、面板的操作、屏幕保护程序的设置、键盘快捷键的设置、文件链接的创建、Vi 编辑器的使用、挂载和卸载软盘、光盘的命令、文件...

    Spark大数据分析与实战课后练习答案.rar

    通过Spark Shell或编程语言API(如Scala、Java、Python和R),开发者可以编写高效的数据处理程序。 课程可能涵盖了以下核心知识点: 1. **Spark架构**:讲解Spark的主节点(Driver)、工作节点(Executor)和集群...

    spark考试练习题含答案.rar

    通过这两份练习题,读者可以深入理解Spark的各个方面,从基本操作到高级应用,从理论到实践,逐步提升自己的Spark技能。在解决每个问题的过程中,不仅能够巩固理论知识,还能锻炼实际操作能力,更好地应对大数据处理...

    hadoop练习-mytest.rar

    在这个名为“hadoop练习-mytest.rar”的压缩包中,包含了作者四年大学学习Hadoop的心得体会和实践项目,通过Java语言实现了对Hadoop的操作。这个压缩包特别适合那些希望深入了解Hadoop以及如何在实际项目中应用它的...

    Developer Training for Apache Spark and Hadoop:Hands-On Exercise

    本教程通过一系列的手动操作练习,覆盖了从基础环境搭建到高级数据分析的各个环节,为学习者提供了丰富的实践经验。 1. **启动练习环境**:这一环节涉及设置和启动用于Spark和Hadoop开发的环境,可能包括配置集群、...

    Hadoop集群程序设计与开发教学大纲.docx

    4. HBase开发:学习HBase工作原理,安装配置,Shell操作及API编程,理解RowKey设计。 5. Hive应用:探究Hive的诞生背景,理解其工作原理,学习HiveQL语法,以及自定义函数的编写。 四、考核方式 课程成绩由出勤、...

    Cloudera Custom Training: Hands-On Exercises

    RDD(弹性分布式数据集)是Spark中的基础抽象,这部分练习帮助学员理解RDD的概念以及如何在Spark Shell中操作它们。 - **使用Spark处理数据文件**:学习如何使用Spark对存储在Hadoop上的数据文件进行处理。 - **使用...

    Hbase 安装与基本使用

    1. **Region管理**:Region是HBase的基本存储单元,可以通过shell命令进行分裂、合并等操作。 2. **表的启停**:使用`disable '表名'`禁用表,`enable '表名'`启用表。 3. **性能调优**:包括调整region大小、选择...

    hadoop学习步骤说明

    通过实际操作练习这些命令,可以加深对Hadoop操作的理解。 #### 四、深入理解Hadoop配置文件 Hadoop的配置文件是其核心组成部分之一,通过深入理解这些配置文件,可以更灵活地调整Hadoop的性能。主要配置文件包括...

    大数据实训方案.pdf

    4. 熟悉HDFS:理解HDFS的工作原理,掌握shell操作和Java接口编程,理解Hadoop的RPC机制以及数据读取流程。 5. MapReduce编程:深入理解MapReduce模型,编写WordCount程序,掌握MR排序、Combiner和shuffle过程。 6. ...

    Cloudera hadoop spark培训题

    Cloudera是一家著名的从事大数据服务的...本培训内容通过一系列的动手练习,使学习者在虚拟环境中操作,以加深理解并熟练掌握Apache Spark的各种操作和处理技巧。通过这样的实践操作,可以有效提高解决实际问题的能力。

    hadoop definitive guide 4th edition source code

    5. **Hadoop Shell命令**: 通过源代码,读者可以学习如何使用Hadoop命令行工具,如`hdfs dfs`和`mapred job`,进行数据操作和作业管理。 6. **Hadoop生态组件**: 除了核心组件,Hadoop生态还包括HBase(分布式...

Global site tag (gtag.js) - Google Analytics