HDFS操作_config命令汇总

HDFS操作_config命令汇总文章目录01引言02HDFS安装03HDFS命令汇总3.1新增操作3.1.1创建文件夹(mkdir命令)3.1.2文件上传(put命令)3.1.3文件复制(cp命令)3.1.4移动文件(mv命令)3.1.5创建空文件(touchz命令)3.2删除操作3.2.1删除文件夹(rmdir命令)3.2.2删除文件(rm命令)3.2.3清空回收站(expunge命令)3.3查看操作3.3.1获取文件(get命令)3.3.2查看文件(ls、du、df、cat、tail命令)3.3.3

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

01 引言

在前面的教程,我们对HDFS有一个简单的认识了,有兴趣的同学可以参阅:

本文主要简介HDFS的安装与命令的汇总。

02 HDFS安装

因为HDFSHadoop的核心组件,所以安装了Hadoop就相当于把HDFS安装了,具体的安装方式可以参考之前写的博客《Mac下安装Hadoop》,因为本人使用的是mac系统,所以这里只有mac版的安装教程了,其实原理都差不多的。

03 HDFS命令汇总

3.1 新增操作

3.1.1 创建文件夹(mkdir命令)

# 创建一个abc目录
hdfs dfs -mkdir /user/zhang/abc

3.1.2 文件上传(put命令)

# 将client node中的NOTICE.txt文件 put 到hdfs的/user/zhang文件夹中
hdfs dfs -put NOTICE.txt /user/zhang

# 如果文件存在,可以使用-f参数进行覆盖
hdfs dfs -put -f NOTICE.txt /user/zhang

3.1.3 文件复制(cp命令)

copyFromLocal命令:

# 这个命令和put作用相同(如果存在`LCENSE.txt文件`,要进行覆盖,加上`-f`参数,和put命令一样)
hdfs dfs -copyFromLocal LICENSE.txt /user/zhang

copyToLocal 命令:

# 复制hdfs的/user/zhang/test/README.txt文件到client node当前目录
hdfs dfs -copyToLocal /user/zhang/test/README.txt
# 如果需要复制到指定目录
hdfs dfs -copyToLocal /user/zhang/test/README.txt /指定目录

cp 命令:

# 将/user/zhang/NOTICE.txt 复制到 /user/zhang/test目录
hdfs dfs -cp /user/zhang/NOTICE.txt /user/zhang/test

3.1.4 移动文件(mv命令)

hdfs dfs -mv   要移动的文件    目标文件夹目录

3.1.5 创建空文件(touchz命令)

创建一个0字节的空文件。
格式:

touchz <path>

示例:

hdfs dfs -touchz /user/dataflair/dir2

3.2 删除操作

3.2.1 删除文件夹(rmdir命令)

# 删除/user/zhang/demo目录
hdfs dfs rmdir /user/zhang/demo

3.2.2 删除文件(rm命令)

# 删除/user/zhang/NOTICE.txt文件
hdfs dfs -rm /user/zhang/NOTICE.txt

# 删除/user/zhang/abc目录
hdfs dfs -rm -r /user/zhang/abc

3.2.3 清空回收站(expunge命令)

hdfs dfs -expunge

3.3 查看操作

3.3.1 获取文件(get 命令)

# 获取hdfs中的/user/zhang/test/README.txt.gz文件,到client node当前目录
hdfs dfs -get /user/zhang/test/README.txt.gz

# 和copyToLocal命令一样

3.3.2 查看文件(ls、du、df、cat、tail 命令)

ls 命令:

# 查看hdfs根目录
hdfs dfs -ls /

# 查看hdfs其它目录(/user/zhang)
hdfs dfs -ls /user/zhang

du 命令:

hdfs dfs -du /user/zhang

# 将字节自动转化成单位
hdfs dfs -du -h /user/zhang

df 命令:

# 查看根目录磁盘空间
hdfs dfs -df /

cat 命令:

# 查看文件
hdfs dfs -cat /user/zhang/test/README.txt

tail 命令( 类似还有 head )

hdfs dfs -tail /user/zhang/test/README.txt

3.3.3 文件检查(test 命令)

用于文件检测操作,如果路径存在,返回 1,如果是目录返回 0。

格式:

hdfs dfs -test -[ezd] URI

选项:

-e 检查文件是否存在。如果存在则返回0。
-z 检查文件是否是0字节。如果是则返回0。
-d 如果路径是个目录,则返回1,否则返回0。

示例:

hdfs dfs -test -e sample
hdfs dfs -test -z sample
hdfs dfs -test -d sample

3.3.4 text文件(text 命令)

将源文件输出为文本格式。允许的格式是 zipTextRecordInputStream
格式:

hdfs dfs -text <source>

示例:

hdfs dfs -text /user/dataflair/dir1/sample

3.3.5 路径信息统计(stat 命令)

返回指定路径统计信息。
格式:

hdfs dfs -stat path

示例:

hdfs dfs -stat /user/dataflair/dir1

3.3.6 文件校验(checksum 命令)

返回文件的校验和信息。

格式:

hadoop fs -checksum URI

示例:

hadoop fs -checksum /user/dataflair/dir1/sample

3.3.7 统计节点(count 命令)

统计一个指定目录下的文件结点数量。
格式:

hdfs dfs -count [-q] <paths>

示例:

$ hadoop fs -count /testelephant
      2      1    108     testelephant
  • 第一个数值 2 表示 /testelephant 下的文件夹的个数,
  • 第二个数值 1 表是当前文件夹下文件的个数,
  • 第三个数值 108 表示该文件夹下文件所占的空间大小,这个大小是不计算副本的个数的,单位是字节(byte)。
$ hadoop fs -count -q /sunwg
     1024     1021    10240    10132     2      1    108    /testelephant

在 count 后面增加 -q 选项可以查看当前文件夹的限额使用情况。

  • 第一个数值 1024 ,表示总的文件包括文件夹的限额。
  • 第二个数值 1021 ,表示目前剩余的文件限额,即还可以创建这么多的文件或文件夹。
  • 第三个数值 10240 ,表示当前文件夹空间的限额。
  • 第四个数值 10132 ,表示当前文件夹可用空间的大小,这个限额是会计算多个副本的。
  • 剩下的三个数值与 -count 的结果一样。

3.3.8 匹配指令(find 命令)

找出能匹配上的所有文件。

-name pattern不区分大小写,对大小写不敏感。
-iname pattern对大小写敏感。
-print打印。
-print0打印在一行。

格式:

hadoop fs -find <path> ... <expression> ...

示例:

hadoop fs -find /user/dataflair/dir1/ -name sample -print

3.4 修改操作

3.4.1 修改拥有者(chown)

改变文件的拥有者。使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。

格式:

hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

示例:

hdfs dfs -chown -R dataflair /opt/hadoop/logs

3.4.2 修改所属组(chgrp)

改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

格式:

hdfs dfs -chgrp [-R] <NewGroupName> <file or directory name>

示例:

hdfs dfs -chgrp [-R] New Group sample

3.4.3 修改文件权限(chown)

改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

格式:

chmod [-R] mode,mode,... <path>...

示例:

hdfs dfs -chmod 777 /user/dataflair/dir1/sample

3.4.4 修改文件副本系数(setrep)

改变一个文件的副本系数,-R 选项用于递归改变目录下所有文件的副本系数。
格式:

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

示例:

hdfs dfs -setrep -w 3 /user/dataflair/dir1

3.4.5 文件追加(appendToFile)

追加一个文件到已经存在的文件末尾

格式:

hadoop fs -appendToFile <localsource> ... <dst>

示例:

hadoop fs -appendToFile /home/dataflair/Desktop/sample /user/dataflair/dir1

05 文末

本文主要讲解的是HDFS的命令,欢迎大家的阅读,本文完!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186014.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea2021.3.15激活 3月最新注册码

    idea2021.3.15激活 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    49
  • ubuntu安装超详细教程_执手锁怎么安装

    ubuntu安装超详细教程_执手锁怎么安装Python进阶者18-06-1916:21前几天带大家一起安装了Ubuntu14.04系统,没来得及上车的伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统。今天小编带大家一起在Ubuntu14.04中安装Pycharm,具体的教程如下。1、首先在主目录下创建software文件夹,此时该文件夹为空文件夹。这个文件夹下用于放置安装软件,当然这…

    2022年8月25日
    5
  • ollydbg激活成功教程教程_逆向教程分享

    ollydbg激活成功教程教程_逆向教程分享目录一、OllyDbg基本知识1.1简介1.2窗口界面1.2.1窗口组成1.2.2窗口功能1.3常用快捷键二、测试修改实例2.1测试内容2.2测试环境2.3测试程序2.4测试步骤2.4.1将程序载入OD2.4.2定位内存地址2.4.3修改内容2.5测试结果三、小结一、OllyDbg基本知识1.1简介OllyDbg是一种具有可视化界面的汇编分析调试器,是一个支持插件扩展功能的动态追踪工具。1.2窗口界面1.2.1窗口组…

    2022年9月15日
    2
  • PyTorch学习之归一化层(BatchNorm、LayerNorm、InstanceNorm、GroupNorm)[通俗易懂]

    PyTorch学习之归一化层(BatchNorm、LayerNorm、InstanceNorm、GroupNorm)[通俗易懂]BN,LN,IN,GN从学术化上解释差异:BatchNorm:batch方向做归一化,算NHW的均值LayerNorm:channel方向做归一化,算CHW的均值InstanceNorm:一个channel内做归一化,算H*W的均值GroupNorm:将channel方向分group,然后每个group内做归一化,算(C//G)HW的均值…

    2022年6月10日
    599
  • NFS修改2049端口号

    NFS修改2049端口号欢迎大家搜素微信公众号“东面而视”,分项技术及讨论技术《什么是NFS》   就是通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录内的数据。(一般共享视频,图片等静态数据) 为什么修改NFS的2049端口1. 其他服务再用2049端口2. 由于某些规定(如端口号必须在10000以上)修改方法1. 检查LINUX是否按装NFS[root@CT5_6-32-22…

    2022年6月27日
    29
  • Linux xsync命令脚本

    Linux xsync命令脚本在/bin/目录下创建xsync脚本如下:#!/bin/bash#1.判断参数个数if[$#-lt1]thenechoNotEnoughArguement!exit;fi#2.遍历集群所有机器forhostinmasternode1node2doecho====================$host====================#3.遍历所有目录,挨个发送forfilein$@do#4…

    2022年5月5日
    161

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号