hadoop学习笔记(四):hdfs常用命令

时间:2023-02-21 11:31:12

一、hadoop fs

1、创建目录

[root@master hadoop-2.7.]# hadoop fs -mkdir /testdir1
[root@master hadoop-2.7.]# hadoop fs -ls /
Found items
drwxr-xr-x - root supergroup -- : /test
drwxr-xr-x - root supergroup -- : /testdir1

加 -p 则创建多级目录

[root@master hadoop-2.7.]# hadoop fs -mkdir -p /aa/bb/cc
[root@master hadoop-2.7.]# hadoop fs -ls /
Found items
drwxr-xr-x - root supergroup -- : /aa
drwxr-xr-x - root supergroup -- : /test
drwxr-xr-x - root supergroup -- : /testdir1

2、ls,列出指定目录的所有文件或文件夹

[root@master hadoop-2.7.]# hadoop fs -ls /
Found items
drwxr-xr-x - root supergroup -- : /test

加 -R,列出所有级的目录和文件

[root@master hadoop-2.7.]# hadoop fs -ls -R /
drwxr-xr-x - root supergroup -- : /aa
drwxr-xr-x - root supergroup -- : /aa/bb
drwxr-xr-x - root supergroup -- : /aa/bb/cc
drwxr-xr-x - root supergroup -- : /test
drwxr-xr-x - root supergroup -- : /testdir1

3、copeFromLocal,复制本地文件到hdfs的目录,除了限定源路径是一个本地文件外,和put命令相似,如果要强制复制文件 加-f 也可以一次复制多个文件

[root@master hadoop-2.7.]# touch /root/file1.txt
[root@master hadoop-2.7.]# hadoop fs -copyFromLocal /root/file1.txt /testdir1
[root@master hadoop-2.7.]# hadoop fs -ls /testdir1
Found items
-rw-r--r-- root supergroup -- : /testdir1/file1.txt

4、put,复制文件到hdfs中,文件可以从标准输入中读取(与copeFromLocal不同点,此时dst是一个文件)。

使用方法: hadoop fs -put <localsrc> ... <dst>

1)从本地文件复到hdfs的文件夹(与copeFromLocal相同)

[root@master hadoop-2.7.]# hadoop fs -put /root/file1.txt /aa
[root@master hadoop-2.7.]# hadoop fs -ls /aa
Found items
drwxr-xr-x - root supergroup -- : /aa/bb
-rw-r--r-- root supergroup -- : /aa/file1.txt

2) 从标准输入流中写入到hdfs中

[root@master hadoop-2.7.]# echo abc | hadoop fs -put - /aa/file2.txt
[root@master hadoop-2.7.]# hadoop fs -ls /aa
Found items
drwxr-xr-x - root supergroup -- : /aa/bb
-rw-r--r-- root supergroup -- : /aa/file1.txt
-rw-r--r-- root supergroup -- : /aa/file2.txt

5、cat,列出文件的内容

[root@master hadoop-2.7.]# hadoop fs -cat  /test/readme.txt
total
drwxr-xr-x. root root May : dfs
drwxr-xr-x. May : hadoop-2.7.
drwxr-xr-x. root root May : hdfs
drwxr-xr-x. root root May : tmp

如果文件过大可以在后面加|more就可以一页一页的显示

 hadoop fs -cat  /test/readme.txt|more

6、rm,删除文件或目录

1)删除文件

[root@master hadoop-2.7.]# hadoop fs -rm  /aa/file2.txt
rm: Failed to get server trash configuration: null. Consider using -skipTrash option
[root@master hadoop-2.7.]# hadoop fs -rm -skipTrash /aa/file2.txt
Deleted /aa/file2.txt

2)删除目录

[root@master hadoop-2.7.]# hadoop fs -rm -r -skipTrash  /aa/bb
Deleted /aa/bb
[root@master hadoop-2.7.]# hadoop fs -ls /aa
Found items
-rw-r--r-- root supergroup -- : /aa/file1.txt

7、cp,在hdfs内部复文件,这个命令允许有多个源路径,此时目标路径必须是一个目录

[root@master hadoop-2.7.]# hadoop fs -cp /aa/file1.txt /aa/file3.txt
// :: WARN hdfs.DFSClient: DFSInputStream has been closed already
[root@master hadoop-2.7.]# hadoop fs -ls /aa
Found items
-rw-r--r-- root supergroup -- : /aa/file1.txt
-rw-r--r-- root supergroup -- : /aa/file3.txt

8、get,将文件从hdfs复制到本地

[root@master hadoop-2.7.]# hadoop fs -get /aa/file3.txt /root/
// :: WARN hdfs.DFSClient: DFSInputStream has been closed already
[root@master hadoop-2.7.]# ll /root/
total
-rw-------. root root Apr : anaconda-ks.cfg
-rw-r--r--. root root Apr : authorized_keys
-rw-r--r--. root root May : file1.txt
-rw-r--r--. root root May : file3.txt

9、copyToLocal,除了限定目标路径是一个本地文件外,和get命令类似

10、mv,在hdfs内部移动文件

[root@master hadoop-2.7.]# hadoop fs -mv /aa/file3.txt /aa/file4.txt
[root@master hadoop-2.7.]# hadoop fs -ls /aa
Found items
-rw-r--r-- root supergroup -- : /aa/file1.txt
-rw-r--r-- root supergroup -- : /aa/file4.txt

总结用法与Linux命令类似,不再一一列了

二、hdfs dfsadmin 管理命令

1、-report,查看文件系统的信息和统计信息

[root@master hadoop-2.7.]# hdfs dfsadmin -report
Configured Capacity: (43.96 GB)
Present Capacity: (40.62 GB)
DFS Remaining: (40.62 GB)
DFS Used: ( KB)
DFS Used%: 0.00%
Under replicated blocks:
Blocks with corrupt replicas:
Missing blocks:
Missing blocks (with replication factor ): -------------------------------------------------
Live datanodes (): Name: 192.168.137.102: (node2)
Hostname: node2
Decommission Status : Normal
Configured Capacity: (21.98 GB)
DFS Used: ( KB)
Non DFS Used: (1.67 GB)
DFS Remaining: (20.31 GB)
DFS Used%: 0.00%
DFS Remaining%: 92.39%
Configured Cache Capacity: ( B)
Cache Used: ( B)
Cache Remaining: ( B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers:
Last contact: Fri May :: EDT Name: 192.168.137.101: (node1)
Hostname: node1
Decommission Status : Normal
Configured Capacity: (21.98 GB)
DFS Used: ( KB)
Non DFS Used: (1.67 GB)
DFS Remaining: (20.31 GB)
DFS Used%: 0.00%
DFS Remaining%: 92.39%
Configured Cache Capacity: ( B)
Cache Used: ( B)
Cache Remaining: ( B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers:
Last contact: Fri May :: EDT

2、-safemode,enter | leave | get | wait:安全模式命令。安全模式是NameNode的一种状态,在这种状态下,NameNode不接受对名字空间的更改(只读);不复制或删除块。NameNode在启动时自动进入安全模式,当配置块的最小百分数满足最小副本数的条件时,会自动离开安全模式。enter是进入,leave是离开。

[root@master hadoop-2.7.]# hdfs dfsadmin -safemode get
Safe mode is OFF
[root@master hadoop-2.7.]# hdfs dfsadmin -safemode enter
Safe mode is ON
[root@master hadoop-2.7.]# hadoop fs -ls /aa
Found items
-rw-r--r-- root supergroup -- : /aa/file1.txt
-rw-r--r-- root supergroup -- : /aa/file4.txt
[root@master hadoop-2.7.]# hadoop fs -rm -skipTrash /aa/file4.txt
rm: Cannot delete /aa/file4.txt. Name node is in safe mode.

3、-refreshNodes,重新读取hosts和exclude文件,使新的节点或需要退出集群的节点能够被NameNode重新识别。这个命令在新增节点或注销节点时用到。

[root@master hadoop-2.7.]# hdfs dfsadmin -refreshNodes
Refresh nodes successful

4、-finalizeUpgrade,终结HDFS的升级操作。Datanode删除前一个版本的工作目录,之后Namenode也这样做。这个操作完结整个升级过程。

[root@master hadoop-2.7.]# hdfs dfsadmin -finalizeUpgrade
Finalize upgrade successful

5、-metasave filename,保存Namenode的主要数据结构到hadoop.log.dir属性指定的目录(默认值是hadoop安装目录:/home/hadoop/hadoop-2.7.0)下的<filename>文件。对于下面的每一项,<filename>中都会一行内容与之对应
1. Namenode收到的Datanode的心跳信号
2. 等待被复制的块
3. 正在被复制的块
4. 等待被删除的块

[root@master hadoop-2.7.]# hdfs dfsadmin -metasave newlog.log
Created metasave file newlog.log in the log directory of namenode hdfs://192.168.137.100:9000
[root@master logs]# pwd
/home/hadoop/hadoop-2.7./logs
[root@master logs]# ll
total
-rw-r--r--. root root May : hadoop-root-namenode-master.log
-rw-r--r--. root root May : hadoop-root-namenode-master.out
-rw-r--r--. root root May : hadoop-root-namenode-master.out.
-rw-r--r--. root root May : hadoop-root-namenode-master.out.
-rw-r--r--. root root May : hadoop-root-namenode-master.out.
-rw-r--r--. root root May : hadoop-root-namenode-master.out.
-rw-r--r--. root root May : hadoop-root-namenode-master.out.
-rw-r--r--. root root May : hadoop-root-secondarynamenode-master.log
-rw-r--r--. root root May : hadoop-root-secondarynamenode-master.out
-rw-r--r--. root root May : hadoop-root-secondarynamenode-master.out.
-rw-r--r--. root root May : hadoop-root-secondarynamenode-master.out.
-rw-r--r--. root root May : hadoop-root-secondarynamenode-master.out.
-rw-r--r--. root root May : hadoop-root-secondarynamenode-master.out.
-rw-r--r--. root root May : hadoop-root-secondarynamenode-master.out.
-rw-r--r--. root root May : newlog.log
-rw-r--r--. root root May : SecurityAuth-root.audit
-rw-r--r--. root root May : yarn-root-resourcemanager-master.log
-rw-r--r--. root root May : yarn-root-resourcemanager-master.out
-rw-r--r--. root root May : yarn-root-resourcemanager-master.out.
-rw-r--r--. root root May : yarn-root-resourcemanager-master.out.
-rw-r--r--. root root May : yarn-root-resourcemanager-master.out.
-rw-r--r--. root root May : yarn-root-resourcemanager-master.out.
-rw-r--r--. root root May : yarn-root-resourcemanager-master.out.

6、-setQuota <quota> <dirname>...<dirname>,为每个目录 <dirname>设定配额<quota>。目录配额是一个长整型整数N,强制限定了目录树下的名字个数。
命令会在这个目录上工作良好,以下情况会报错:
1. N不是一个正整数,或者
2. 用户不是管理员,或者
3. 这个目录不存在或是文件,或者
4. 目录会马上超出新设定的配额。

[root@master hadoop-2.7.]# hadoop fs -ls /aa
Found items
-rw-r--r-- root supergroup -- : /aa/file1.txt
-rw-r--r-- root supergroup -- : /aa/file4.txt
[root@master hadoop-2.7.]#
[root@master hadoop-2.7.]#
[root@master hadoop-2.7.]# hdfs dfsadmin -setQuota /aa
[root@master hadoop-2.7.]# hadoop fs -touchz /aa/file5.txt
touchz: The NameSpace quota (directories and files) of directory /aa is exceeded: quota= file count=
[root@master hadoop-2.7.]# hadoop fs -ls /aa
Found items
-rw-r--r-- root supergroup -- : /aa/file1.txt
-rw-r--r-- root supergroup -- : /aa/file4.txt
[root@master hadoop-2.7.]# hadoop fs -ls -R /aa
-rw-r--r-- root supergroup -- : /aa/file1.txt
-rw-r--r-- root supergroup -- : /aa/file4.txt
[root@master hadoop-2.7.]# hadoop fs -touchz /aa/fi.txt
touchz: The NameSpace quota (directories and files) of directory /aa is exceeded: quota= file count=
[root@master hadoop-2.7.]# [root@master hadoop-2.7.]# hdfs dfsadmin -setQuota /aa
[root@master hadoop-2.7.]# hadoop fs -touchz /aa/file5.txt

7、-clrQuota <dirname>...<dirname>,为每一个目录<dirname>清除配额设定。
命令会在这个目录上工作良好,以下情况会报错:
1. 这个目录不存在或是文件,或者
2. 用户不是管理员。
如果目录原来没有配额不会报错。

hdfs dfsadmin -clrQuota /aa

hadoop学习笔记(四):hdfs常用命令的更多相关文章

  1. CMake学习笔记四-CMake常用命令

    CMake常用命令 PROJECT PROJECT(projectname [CXX] [C] [Java]) 指定工程名称,并可指定工程支持的语言.支持语言列表可忽略,默认支持所有语言 SET ...

  2. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  3. Hadoop学习笔记&lpar;2&rpar;-HDFS的基本操作&lpar;Shell命令&rpar;

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

  4. linux学习笔记2 - linux常用命令

    转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...

  5. linux学习笔记2-linux的常用命令

    第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...

  6. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  7. Hadoop学习笔记: HDFS

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

  8. Hadoop学习笔记四

    一.fsimage,edits和datanode的block在本地文件系统中位置的配置 fsimage:hdfs-site.xml中的dfs.namenode.name.dir  值例如file:// ...

  9. Docker学习笔记&lpar;1&rpar; — docker 常用命令

    1. docker version显示 Docker 版本信息.2. docker info显示 Docker 系统信息,包括镜像和容器数.3. docker searchdocker search ...

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

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

随机推荐

  1. &lbrack;Asp&period;net 5&rsqb; Configuration-新一代的配置文件(接口定义与基础实现)

    关于配置文件的目录:[Asp.net 5] Configuration-新一代的配置文件 本系列文章讲的是asp.net 5(Asp.net VNext)中的配置文件部分,工程下载地址为:https: ...

  2. C&num;基础之IL

    1.实例解析IL 作为C#程序员,IL的作用不言而喻,首先来看一个非常简单的程序和它的IL解释图,通过这个程序的IL指令来简单的了解常见的IL指令是什么意思. class Program { stat ...

  3. &lbrack;iOS 多线程 &amp&semi; 网络 - 2&period;11&rsqb; - ASI框架上传文件

    A.ASI的上传功能基本使用 1.实现步骤 (1)创建请求 使用ASIFormDataRequest (2)设置上传文件路径 (3)发送请求     2.上传相册相片 UIImagePickerCon ...

  4. &lbrack;HDU&rsqb; 2063 过山车&lpar;二分图最大匹配&rpar;

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2063 女生为X集合,男生为Y集合,求二分图最大匹配数即可. #include<cstdio&gt ...

  5. ecos的dbschema

    dbschema base/dbschema/apps.php <?php //apps表名 $db['apps'] = array( 'columns'=>array( 'app_id' ...

  6. UWP中使用Composition API实现吸顶(2)

    在上一篇中我们讨论了不涉及Pivot的吸顶操作,但是一般来说,吸顶的部分都是Pivot的Header,所以在此我们将讨论关于Pivot多个Item关联同一个Header的情况. 老样子,先做一个简单的 ...

  7. 高通ASOC中的machine驱动

    ASoC被分为Machine.Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machin ...

  8. intelij IDEA破解

    破解intelij IDEA请见链接:https://blog.csdn.net/weixin_37937646/article/details/79119540

  9. jQuery实现获取选中复选框的值

    <!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Jq ...

  10. 【LeetCode每天一题】Plus One&lpar;加一&rpar;

    Given a non-empty array of digits representing a non-negative integer, plus one to the integer.The d ...