hadoopfs(hadoopfs命令详解)

本篇文章给大家谈谈hadoopfs,以及hadoopfs命令详解对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

怎样配置hadoop的core-site.xml使能运行hadoop fs

namevalue description fs.default.namehdfs://hadoopmaster:9000定义hadoopmaster的uri和端口 fs.checkpoint.dir/opt/data/hadoop1/hdfs/namesecondary1定义hadoop的name备份的路径,官方文档说是读取这个,写入dfs.name.dir fs.checkpoint.period1800定义name备份的备份间隔时间,秒为单位,只对snn生效,默认一小时 fs.checkpoint.size33554432以日志大小间隔做备份间隔,只对snn生效,默认64m io.compression.codecs

org.apache.hadoop.io.compress.defaultcodec,

com.hadoop.compression.lzo.lzocodec,

com.hadoop.compression.lzo.lzopcodec,

org.apache.hadoop.io.compress.gzipcodec,

org.apache.hadoop.io.compress.bzip2codec

(排版调整,实际配置不要回车)

hadoop所使用的编解码器,gzip和bzip2为自带,lzo需安装hadoopgpl或者kevinweil,逗号分隔,snappy也需要单独安装 io.compression.codec.lzo.classcom.hadoop.compression.lzo.lzocodeclzo所使用的压缩编码器 topology.script.file.name/hadoop/bin/rackaware.py机架感知脚本位置 topology.script.number.args1000机架感知脚本管理的主机数,ip地址 fs.trash.interval10800hdfs垃圾箱设置,可以恢复误删除,分钟巧做虚数,0为禁用,添加该项无需重启hadoop hadoop.http.filter.initializers

org.apache.hadoop.security.

authenticationfilterinitializer

(排版调整,实际配置不要回车)

需要jobtracker,tasktracker

namenode,datanode等http访问端口用户验证使用,需配置所有节点

hadoop.http.authentication.typesimple | kerberos | #authentication_handler_classname#验证方式,默认为简单,也可自己定义class,需配置孝燃所有节点 hadoop.http.authentication.

token.validity

(排版调整,实际配置不要回车)36000验证令牌的有效时间,需配置所有节点 hadoop.http.authentication.

signature.secret

(排版调整,实际配置不要回车)默认可不写参数胡拦默认不写在hadoop启动时自动生成私密签名,需配置所有节点 hadoop.http.authentication.cookie.domaindomian.tldhttp验证所使用的cookie的域名,ip地址访问则该项无效,必须给

此文来自: 马开东博客 转载请注明出处 网址:

所有节点都配置域名才可以。 hadoop.http.authentication.

simple.anonymous.allowed

(排版调整,实际配置不要回车)true | false简单验证专用,默认允许匿名访问,true

hadoop.http.authentication.

kerberos.principal

(排版调整,实际配置不要回车)

http/localhost@$localhostkerberos验证专用,参加认证的实体机必须使用http作为k的name hadoop.http.authentication.

kerberos.keytab

(排版调整,实际配置不要回车)/home/xianglei/hadoop.keytabkerberos验证专用,密钥文件存放位置 hadoop.security.authorizationtrue|falsehadoop服务层级验证安全验证,需配合hadoop-policy.xml使用,配置好以后用dfsadmin,mradmin -refreshserviceacl刷新生效 io.file.buffer.size131072用作序列化文件处理时读写buffer的大小 hadoop.security.authenticationsimple | kerberoshadoop本身的权限验证,非http访问,simple或者kerberos hadoop.logfile.size1000000000设置日志文件大小,超过则滚动新日志 hadoop.logfile.count20最大日志数 io.bytes.per.checksum1024每校验码所校验的字节数,不要大于io.file.buffer.size io.skip.checksum.errorstrue | false处理序列化文件时跳过校验码错误,不抛异常。默认false io.serializations

org.apache.hadoop.io.

serializer.writableserialization

(排版需要。实际配置不要回车)

序列化的编解码器 io.seqfile.compress.blocksize1024000块压缩的序列化文件的最小块大小,字节 webinterface.private.actionstrue | false设为true,则jt和nn的tracker网页会出现杀任务删文件等操作连接,默认是false

[img]

为什么我敲入 hadoop fs

[root@localhost bin]# hadoop fs -ls/

Warning: $HADOOP_HOME is deprecated.

ls/: Unknown command

Usage: java FsShell

[-ls path握孙渣]

[-lsr path]

[-du 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]

命令写错了,少个空格,hadoop fs -ls /

这条hadoop命令是什么意思?里面的fs和-ls又分别是什么意思呢?

fs = file system, hadoop的命令固定格式,或者dfs

-ls = 查看目录文件

HDFS操作命令

HDFS命令基本格式:hadoop fs -cmd args

表格:

注意:以上表格中路径包括hdfs中的路径和linux中的路径。对于容易产生歧义的地方,会特别指出“linux路径”或者烂磨“hdfs路径”。如果没有明确指出,意味着是hdfs路径。

HDFS有一个默认的工作目录/user/$USER,其中$USER是用户的登录用户名。不过目录不会自动建立,需要mkdir建立它

命令格式:hadoop fs -mkdir

注意:支持级联创建新目录,Hadoop的mkdir命令会自动创建父目录,类似于带-p的linux命令

put命令从本地文件系统中 复制单个或多个 源路径到目标文件系统,也支持从标准输入设备中读取输入并写入目标文件系统。分为本地上传和上传到HDFS中。

命令格式:hadoop fs -put filename

最后一个参数是句点,相当于放入了默认的工作目录,等价于 hadoop fs -put example.txt /user/chen

上传文件时,文件首先复制到DataNode上,只有所有的DataNode都成功接收完数据,文件上传才是成功的。

命令格式:hadoop dfs put filename newfilename

从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从 标准输入 中读取输入写入目标文件系统。

采用-ls命令列出HDFS上的文件。在HDFS中未带参数的-ls命令没有返回任何值,它默认返回HDFS的home目录下

的内容。在HDFS中,没有当前工作目录这样一个概念,也没有cmd这样的命令。

命令格式:user@NameNode:hadoop$ bin/hadoop dfs -ls

如:

通过“-ls 文件夹名” 命令浏览HDFS下文件夹中的文件

命令格式:hadoop dfs -ls 文件夹名

通过该命令可以查看in文件夹中的所有文档文件

通过“-cat 文件名”命令查看HDFS下文件夹中某个文件的内容

命令饥孙斗格式:hadoop$ bin/hadoop dfs -cat 文件名

通过这个命令可以查看in文件夹中所有文件的内容

通过“-get 文件按1 文件2”命令将HDFS中某目录下的文件复制到本地系统的某文件中,并对该文件重新命名。

命令格式:hadoop dfs -get 文件名 新文件名

-get 命令与-put命令一样,凯物既可以操作目录,也可以操作文件

通过“-rmr 文件”命令删除HDFS下的文件

命令格式:hadoop$ bin/hadoop dfs -rmr 文件

-rmr 删除文档命令相当于delete的递归版本。

通过-format命令实现HDFS格式化

命令格式:user@NameNode:hadoop$ bin/hadoop NameNode -format

通过运行start-dfs.sh,就可以启动HDFS了

命令格式:user@NameNode:hadoop$ bin/ start-dfs.sh

当需要退出HDFS时,通过stop-dfs.sh 就可以关闭HDFS

命令格式:user@NameNode:hadoop$ bin/ stop-dfs.sh

HDFS的命令远不止这些,对于其他操作,可以通过-help commandName 命令列出清单。下面列举一些命令进行说明。

(1)chgrp改变文件所属的组命令

chgrp命令的用途是:更改文件或目录的组所有权。

语法格式:hadoop fs -charg [-R] GROUP URL .....

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

(2)chmod改变文件的权限

chmod用于改变文件或目录的访问权限,这个Linux系统管理员最常用的命令之一。

使用方法:hadoop fs -chmod [-R] ...

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

(3)chown改变文件的拥有者

chown命令改变文件的拥有者。

使用方法:hadoop fs -chown [-R]....

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

(4)copyFromLocal命令

除了限定 源路径 是只能是一个 本地文件 外,其他方面和put命令相似。

使用方法:hadoop fs -copyFromLocal localsrc URI

(5)copyToLocal命令

除了限定 目标路径 是一个 本地文件 外,其他方面和get命令类似。

使用方法:hadoop fs -copyToLocal {-ignorecrc} {-crc} URI localdst

(6)cp命令

cp命令是将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。

使用方法:hadoop fs -cp URI [URI....] dest

返回值:成功返回0 ,失败返回-1

(7)du命令

du命令显示目录中 所有文件的大小 ,或者当只指定一个文件时,显示此文件的大小

使用方法:hadoop fs -du URI [URI........]

返回值

成功返回0,失败返回-1

(8)dus命令

dus是显示 文件大小 的命令。

使用方法:hadoop fs -dus args

(9)expunge命令

expunge是清空回收站的命令

使用方法:hadoop fs -expunge

(10)get命令

get是复制文件到本地文件系统的命令

使用方法:hadoop fs -get [-ignorecrc] [-crc] localdst

可用-ignorecrc选项复制CRC校验失败的文件:使用-CRC选项复制文件以及CRC信息。

返回值

成功返回0,失败返回-1

(11)getmerge命令

getmerge命令用于接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件合并成本地目标文件。

使用方法:hadoop fs -getmerge src localdst [addnl]

参数说明:addl是可选的,用于指定在每个文件结尾添加一个换行符;

假设在你的hdfs集群上有一个/user/hadoop/output目录

里面有作业执行的结果(多个文件组成)part-000000,part-000001,part-000002

然后就可以在本地使用vi local_file查看内容了

(12)ls命令

ls命令查看当前目录下的信息

使用方法:hadoop fs -ls args

如果是 文件 ,则按照如下格式返回文件信息:

文件名 副本数文件大小 修改日期 修改时间 权限 用户ID 组ID

如果是 目录 ,则返回它直接子文件的一个列表,就像在UNIX中一样。目录返回i额表的信息如下:

目录名dir修改日期 修改时间 权限 用户ID 组ID

返回值

成功返回0,失败返回-1

(13)lsr命令

lsr命令是-ls命令的递归版,类似于UNIX中的ls-r。

使用方法:hadoop fs -lsr args

(14)movefromLocal命令

复制一份本地文件到hdfs,当成功后,删除本地文件

使用方法:dfs -moveFromLocal src dst

(14.5)moveToLocal命令

类似于-get,但是当复制完成后,会删除hdfs上的文件

使用方法:moveToLocal src localDest

(15)mv命令

将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录

使用方法:hadoop fs -mv URI [URI.....] dest

备注:不允许在不同的文件系统间移动文件。

返回值

成功返回0,失败返回-1

(16)put 命令

put命令从本地文件系统中复制单个或多个源路径到目标文件系统,也支持从标准输入中读取输入写入目标文件系统

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

(17)rm命令

rm命令删除指定的文件,只删除非空目录和文件。

使用方法:hadoop fs -rm URI [URI......]

请参考rmr命令了解递归删除。

(18)rmr命令

rmr命令是delete命令的递归版本

使用方法:hadoop fs -rmr URI [URI.......]

返回值

成功返回0,失败返回-1

(19)setrep命令

setrep命令可以改变一个文件的副本系数。

使用方法:hadoop fs -setrep [-R] path

参数说明:-R 选项用于递归改变目录下所有文件的副本系数

返回值

成功返回0,失败返回-1

(20)stat命令

stat命令用于返回指定路径的统计信息

使用方法:hadoop fs -stat URI [URI......]

返回值

成功返回0,失败返回-1

(21)tail命令

tail命令将文件尾部1KB的内容输出到stdout。支持-f选项,行为和UNIX中一致

使用方法:hadoop fs -tail [-f] URI

返回值

成功返回0,失败返回-1

(22)test命令

test命令是检查命令,可以检查文件是否存在、文件的大小等。

使用方法:hadoop fs -test -[ezd] URI

(23)text命令

text命令用于将源文件输出问文本格式

使用方法:hadoop fs -text src

允许的格式是zip和TextRecordInputStream。

(24)touchz 命令

touchz命令用于创建一个0字节的空文件。

使用方法: hadoop fs -touchz URI [URI....]

返回值

成功返回0,失败返回-1

Hadoop fs必需要记住的常用命令

1,Hadoop fs –fs [local | ]:声明Hadoop使用的文件系统,如果不声明的话,使用当前配置文件配置的,按如下顺序查找:hadoop jar里的hadoop-default.xml-$HADOOP_CONF_DIR下的hadoop-default.xml-汪猜$HADOOP_CONF_DIR下的hadoop-site.xml。使用local代表将本地文件系统作为hadoop的DFS。如果传递uri做参数,那么就是特定的文件系统作为DFS。2,hadoop fs –ls :等同于本地系统的ls,列出在指定目录下的文件内容,支持pattern匹配。输出格式如filename(full path) size.其中n代表replica的个数,size代表大小(单位bytes)。

3,hadoop fs –lsr :递归列出匹配pattern的文件信息,类似ls,只不过递归列出所有子目录信息。

4,hadoop fs –du :列出匹配pattern的指定的文件系统空间总量(单位bytes),等价于unix下的针对目录的du –sb /*和针颂陵困对文件的du –b ,输出格式如name(full path) size(in bytes)。

5,hadoop fs –dus :等价于-du,输出格式也相同,只不过等价于unix的du -sb。

6,hadoop fs –mv :将制野念定格式的文件 move到指定的目标位置。当src为多个文件时,dst必须是个目录。

7,hadoop fs –cp :拷贝文件到目标位置,当src为多个文件时,dst必须是个目录。

8,hadoop fs –rm [-skipTrash] :删除匹配pattern的指定文件,等价于unix下的rm 。

9,hadoop fs –rmr [skipTrash] :递归删掉所有的文件和目录,等价于unix下的rm –rf 。

10,hadoop fs –rmi [skipTrash] :等价于unix的rm –rfi 。

11,hadoop fs –put … :从本地系统拷贝文件到DFS。

12,hadoop fs –copyFromLocal … :等价于-put。

13,hadoop fs –moveFromLocal … :等同于-put,只不过源文件在拷贝后被删除。

14,hadoop fs –get [-ignoreCrc] [-crc] :从DFS拷贝文件到本地文件系统,文件匹配pattern,若是多个文件,则dst必须是目录。

15,hadoop fs –getmerge :顾名思义,从DFS拷贝多个文件、合并排序为一个文件到本地文件系统。

16,hadoop fs –cat :展示文件内容。

17,hadoop fs –copyToLocal [-ignoreCrc] [-crc] :等价于-get。

18,hadoop fs –mkdir :在指定位置创建目录。

19,hadoop fs –setrep [-R] [-w] :设置文件的备份级别,-R标志控制是否递归设置子目录及文件。

20,hadoop fs –chmod [-R] PATH…:修改文件的权限,-R标记递归修改。MODE为a+r,g-w,+rwx等,OCTALMODE为755这样。

21,hadoop fs -chown [-R] [OWNER][:[GROUP]] PATH…:修改文件的所有者和组。-R表示递归。

22,hadoop fs -chgrp [-R] GROUP PATH…:等价于-chown … :GROUP …。

23,hadoop fs –count[-q] :计数文件个数及所占空间的详情,输出表格的列的含义依次为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME或者如果加了-q的话,还会列出QUOTA,REMAINING_QUOTA,SPACE_QUOTA,REMAINING_SPACE_QUOTA。

结语

感谢您的观看,如有不足之处,欢迎批评指正。

如果有对大数据感兴趣的小伙伴或者是从事大数据的老司机可以加群:

658558542    

欢迎大家进群交流讨论,学习交流,共同进步。(里面还有大量的免费资料,帮助大家在成为大数据工程师,乃至架构师的路上披荆斩棘!)

最后祝福所有遇到瓶疾且不知道怎么办的大数据程序员们,祝福大家在往后的工作与面试中一切顺利。

何时使用hadoop fs,hadoop dfs与hdfs dfs命令

hadoop fs:使用扮乱返面广操作任何文件系统

hadoop dfs与hdfs dfs:能操作HDFS文件系统相关陪橘(包括与Local FS间操作)前者厅饥已经Deprecated般使用者

Following are the three commands which appears same but have minute differences

hadoop fs {args}

hadoop dfs {args}

hdfs dfs {args}

hadoop fs args/args

FS relates to a generic file system which can point to any file systems like local, HDFS etc. So this can be used when you are dealing with different file systems such as Local FS, HFTP FS, S3 FS, and others

hadoop dfs args/args

dfs is very specific to HDFS. would work for operation relates to HDFS. This has been deprecated and we should use hdfs dfs instead.

hdfs dfs args/args

same as 2nd i.e would work for all the operations related to HDFS and is the recommended command instead of hadoop dfs

below is the list categorized as HDFS commands.

**#hdfs commands**

namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups

So even if you use Hadoop dfs , it will look locate hdfs and delegate that command to hdfs dfs

关于hadoopfs和hadoopfs命令详解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表