Hadoop(4)hadoop的shell命令、hdfs的安全模式

hdfs的shell命令操作

hdfs的shell命令操作的主要类型:

1、对hdfs的操作命令

2、获得一些配置相关的命令

3、管理员相关的命令

4、文件系统检查相关的命令

hdfs命令(对hdfs的基础操作)

HDFS命令有两种风格,hadoop fs开头的和hdfs dfs开头的,两种命令均可使用,效果相同。

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文件中追加内容

hadoop fs -appendToFile edit1.xml /edits.txt 
#将本地磁盘当前目录的edit1.xml内容追加到HDFS根目录 的edits.txt文件

5.查看HDFS文件内容

hdfs dfs -cat /edits.txt

6.从本地路径上传文件至HDFS

#用法:hdfs dfs -put /本地路径 /hdfs路径
hdfs dfs -put /linux本地磁盘文件 /hdfs路径文件

hdfs dfs -copyFromLocal /linux本地磁盘文件 /hdfs路径文件 
#跟put作用一样

hdfs dfs -moveFromLocal /linux本地磁盘文件 /hdfs路径文件 
#跟put作用一样,只不过,源文件被拷贝成功后,会被删除

7. 在hdfs文件系统中下载文件

hdfs dfs -get /hdfs路径 /本地路径

hdfs dfs -copyToLocal /hdfs路径 /本地路径 #根get作用一样

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命令

hadoop fs -find / -name part-r-00000 # 在HDFS根目录中,查找part-r-00000文件

15.总结

  • 输入hadoop fs 或hdfs dfs,回车,查看所有的HDFS命令
  • 学会举一反三,许多命令与linux命令有很大的相似性
  • 学会使用help,查看命令使用说明:hadoop fs -help ls
  • 绝大多数的大数据框架的命令,也有类似的help信息

hdfs与getconf结合(获取配置信息)

1.获取NameNode的节点名称(可能有多个)

hdfs getconf -namenodes

2. 获取hdfs配置信息

hdfs getconf -confKey dfs.namenode.fs-limits.min-block-size

hdfs getconf -confKey dfs.blocksize

用相同命令可获取其他的属性值

3. 查找hdfs的NameNode的RPC地址

RPC(RemoteProcedureCall,远程过程调用)

hdfs getconf -nnRpcAddresses

hdfs与dfsadmin结合(管理员相关命令)

1. 同样要学会借助帮助信息

hdfs dfsadmin -help safemode

2. 查看hdfs dfsadmin的帮助信息

hdfs dfsadmin

3. 查看当前的模式

hdfs dfsadmin -safemode get

4. 进入/退出安全模式

hdfs dfsadmin -safemode enter # 进入安全模式

hdfs dfsadmin -safemode leave #退出安全模式

hdfs与fsck结合(系统检查)

fsck指令显示HDFS块信息

 hdfs fsck /02-041-0029.mp4 -files -blocks -locations # 查看文件02-041-0029.mp4的块信息

其他命令

1. 检查压缩库本地安装情况

hadoop checknative

2. 格式化名称节点(慎用,一般只在初次搭建集群,使用一次;格式化成功后,不要再使用)

hadoop namenode -format
  1. 执行自定义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的安全模式

安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。在NameNode主节点启动时,HDFS首先进入安全模式,DataNode在启动的时候会向namenode汇报可用的block等状态(通过心跳heartbeat向namenode汇报,如果99%的block的块的副本数>=1,就可以退出安全模式),当整个系统达到安全标准时,HDFS自动离开安全模式。

如果HDFS处于安全模式下,则文件block不能进行任何的副本复制操作,因此达到最小的副本数量要求是基于datanode启动时的状态来判定的,启动时不会再做任何复制(从而达到最小副本数量要求),hdfs集群刚启动的时候,默认30s的时间是出于安全期的,只有过了30s之后,集群脱离了安全期,然后才可以对集群进行操作

通过shell命令进入和退出安全模式:

[hadoop@node01 hadoop]$ hdfs dfsadmin -safemode

Usage: hdfs dfsadmin [-safemode enter | leave | get | wait]
posted @ 2020-08-25 23:42  Whatever_It_Takes  阅读(592)  评论(0编辑  收藏  举报