一.HDFS命令行

Hadoop help命令的使用

1.hadoop -help查询所有Hadoop Shell支持的命令

hadoop 复制 本地文件 hadoop复制文件命令_hive

2.distcp

这是Hadoop下的一个分布式复制程序,可以在不t同的HDFS集群间复制数据,也可以在本地文件间复制数据。

hadoop distcp

hadoop 复制 本地文件 hadoop复制文件命令_HDFS_02

将/test/test.txt文件复制到/test/cp下面:hadoop distcp/test/test.txt/test/cp

将master1集群/test目录(包含内容)复制到master2集群/test_cp目录下:

Hadoop distcp hdfs://master1/test hdfs://master2/test_cp

3.用户可以把MapReduce代码捆绑到jar文件中,使用这个jar文件

命令格式:hadoop jar [mainClass]arges

4.archive 创建一个Hadoop存档文件,这是一种特殊的文档格式。一个Hadoop archive对应一个文件系统目录。Hadoop archive的扩展名为*.har。可以将文件写入HDFS块,一定程度上解决了大量小文件耗费NameNode节点的现象,同时允许对文件的透明访问。

命令格式:hadoop archive-archiveName*

命令选项:

-archiveName 要创建存档文件的名字

src 文件系统的路径名,和通常含正则表达式一样

dest 保存存档文件的目录索引目标

for example:

1.hadoop archive-archiveName part-20170906-0.har -p/input/ child1 child2/ah_input/har

2.查看归档后的目录结构:hadoop fs-lsr/

3.查看结果文件part -0的内容:hadoop fs-cat /test/in/har/0825.har/part-0

4.使用har uri访问原始数据

har是HDFS之上的一个文件系统,因此所有fs shell命令对har文件有用,只不过路径格式不一样

hadoop -lsr har://ah_input/har/part-20170906-0.har

5. 用har uri访问下一级目录

hdfs dfs-lsr har://ah_input/har/part-20170906-0.har/input

6.远程访问

hadoop fs-lsr har://master:8020/ah_input/har/part-20170906-0.har

其中master是NameNode所在节点的主机名,8020是core-site.xml文件中的fs.defaultFS参数配置中对应的端口号

7.删除har文件

必须使用rmr命令来删除har文件,rm命令是不行的

hadoop fs-rmr/ah_input/har/part-20170906-0.har

除此之外,har还可以作为MapReduce的输入进行使用。

HDFS常用命令行操作

1.dfsadmin -help

help命令会在屏幕客户端列出dfsadmin下的命令的列表及语法的命令格式的帮助信息

hadoop dfsadmin -help

2.report

-report [-live][-dead][-decommissioning]:报告HDFS的基本信息和统计信息

3.safemode

-safemode:安全模式维护命令,可以说它是NameNode状态。处于安全模式时,它不接受对空间名字的修改(即只读),同时它不复制或删除块。在NameNode启动时,系统自动进入安全模式,当配置最小的Block百分比满足最小的复制条件时,就会自动离开安全模式。安全模式也可以手动输入,此时只能手动关闭。

4.job -history 看历史日志汇总

5.dfs- mkdir在DFS创建目录

hadoop dfs- mkdir/testmkdir

6.fs- put该命令上传本地file到HDFS指定目录

7.fs-lsr查看所有文件以及所在的目录信息

8.fs- cat查看HDFS上的文件内容

9.fs-rm删除指定文件

10.fs-rm-r 删除HDFS上的文件夹以及文件夹的内容

11.fs-chmod更改HDFS文件权限

-r只读权限

-w写入权限

-rw读写权限

-x执行权限