HDFS 命令有两种风格:
两种命令均可使用,效果相同。
1.如何查看 hdfs 或 hadoop 子命令的帮助信息,例如 ls 命令
#两个命令是等价的
hdfs dfs -help ls
hadoop fs -help ls
2.查看 hdfs 文件系统中指定目录的文件列表。对比 Linux 命令 ls
hdfs dfs -ls /
hadoop fs -ls /
hdfs dfs -ls -R /
3.在 hdfs 文件系统中创建文件
hdfs dfs -touchz /edits.txt
4.向 hdfs 文件中追加内容
#将本地磁盘当前目录下的edit1.xml中的内容追加到 hdfs 根目录的edits.txt文件中
hadoop fs -appendToFile edit1.xml /edits.txt
5.查看 hdfs 文件内容
hdfs dfs -cat /edits.txt
6.从本地路径上传文件至 hdfs
#用法:hdfs dfs -put /linux本地文件 /hdfs文件
hdfs dfs -put /linux本地文件 /hdfs文件
#跟-put命令的作用一样
hdfs dfs -copyFromLocal /linux本地文件 /hdfs文件
#拷贝完成删除源文件,相当于对文件“剪贴”
hdfs dfs -moveFromLocal /linux本地文件 /hdfs文件
7.在 hdfs 文件系统中下载文件
hdfs dfs -get /hdfs路径 /本地路径
#和get命令的效果相同
hdfs dfs -copyToLocal /hdfs路劲 /本地路径
8.在 hdfs 文件系统中创建目录
hdfs dfs -mkdir /shell
9.在 hdfs 文件系统中删除文件
hdfs dfs -rm /edits.txt
hdfs dfs -rm -r /shell
10.在 hdfs 文件系统中修改文件名称(也可以用来移动文件到目录)
hdfs dfs -mv /xcall.sh /call.sh
hdfs dfs -mv /call.sh /shell
11.在 hdfs 中拷贝文件到目录
hdfs dfs -cp /xrsync.sh /shell
12.递归删除目录
hdfs dfs -rmr /shell
13.列出本地文件的内容(默认是 hdfs 文件系统)
hdfs dfs -ls file:///home/hadoop/
14.查找文件
#Linux find 命令
find . -name 'edit*'
#hdfs find 命令
#在HDFS根目录中,查找part-r-00000文件
hadoop fs -find / -name part-r-00000
15.总结
输入 hadoop fs 或者 hdfs dfs , 回车,查看所有的 HDFS 命令;许多命令与Linux命令有很大的相似性,需要学会举一反三;擅于使用help命令,如查看 ls 命令的使用说明: hadoop fs -help ls 。
1.获取 NameNode 的节点名称(可能有多个)
hdfs getconf -namenodes
2.获取 hdfs 最小块信息
#用相同命令可获取其他的属性值
hdfs getconf -confKey dfs.namenode.fs-limits.min-block-size
3.查找 hdfs 的 NameNode 的 RPC 地址
hdfs getconf -nnRpcAddresses
1.同样需要学会借助帮助信息
hdfs dfsadmin -help safemode
2.查看 hdfs dfsadmin 的帮助信息
hdfs dfsadmin
3.查看当前模式
hdfs dfsadmin -safemode get
4.进入/退出安全模式
#进入安全模式
hdfs dfsadmin -safemode enter
#退出安全模式
hdfs dfsadmin -safemode leave
1.检查压缩库本地安装情况
hadoop checknative
2.格式化名称节点(慎用,一般只在初次搭建集群,使用一次;格式化成功后,不要再次使用)
hadoop namenode -format
3.执行自定义jar包
hadoop jar /kkb/install/hadoop-2.6.0-cdh5.14.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar pi 10 10
安全模式是 HDFS 所处的一种特俗状态,在这种状态下,文件系统只接受读数据请求,不接受删除、修改等变更请求。在NameNode主节点启动时,HDFS首先进入安全模式,DataNode在启动的时候会向namenode汇报可用的 block 等状态,当整个系统达到安全标准时,HDFS 自动离开安全模式。如果HDFS出于安全模式下,则文件block不能进行任何的副本复制操作,因此达到最小的副本数量要求是基于datanode启动时的状态来判定的,启动时不会再做任何复制(从而达到最小副本数量要求),hdfs集群刚启动的时候,默认30S钟的时间是出于安全期的,只有过了30S之后,集群脱离了安全期,然后才可以对集群进行操作。
[hadoop@node01 hadoop]$ hdfs dfsadmin -safemode
Usage: hdfs dfsadmin [-safemode enter | leave | get | wait]