一.HDFS命令行
Hadoop help命令的使用
1.hadoop -help查询所有Hadoop Shell支持的命令
2.distcp
这是Hadoop下的一个分布式复制程序,可以在不t同的HDFS集群间复制数据,也可以在本地文件间复制数据。
hadoop distcp
将/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执行权限