查看常用命令:
hdfs --help
可以查看能用哪些 HDFS 命令,以下为可能会用到的一些命令
dfsadmin run a DFS admin client
fsck run a DFS filesystem checking utility
dfs run a filesystem command on the file system
namenode run the DFS namenode
一,先查看dfsadmin命令,先输入 hdfs dfsadmin 查看有哪些能用的
查看hdfs的安全模式:
bin/hdfs dfsadmin -safemode get
查看结果:
Safe mode is OFF
OFF 安全模式关闭
ON 安全模式打开(可以读,写不行)
如果ON,也就进入了安全模式,有两张情况
1.被动进入:
说明HDFS集群有问题,相当于保护模式
2.主动进入:
主要是维护,保证这段时间HDFS不会有新数据/文件写入
二、查看fsck命令
bin/hdfs fsck /
三、格式化namenode
hdfs namenode -format
HDFS的回收站
hdfs dfs -rm -f /user/<username>/output
执行命令后,默认直接删除,不会进入回收站
在hadoop/etc/hadoop下的core-site.xml中进行配置
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
10080单位为分钟,为回收站保存7天时间,配置完成后重启hdfs
创建两个文件夹进行测试
hdfs dfs -mkdir -p delete/test1
hdfs dfs -mkdir -p delete/test2
先对test1执行普通的删除
bin/hdfs dfs -rm -r delete/test1
运行结果:
INFO fs.TrashPolicyDefault: Moved: 'hdfs://<username>:9000/user/<username>/delete/test1' to trash at: hdfs://<username>:9000/user/<username>/.Trash/Current/user/<username>/delete/test1
发现文件移到了.Trash文件夹下,查看该文件夹
bin/hdfs dfs -ls /user/<username>/.Trash/Current/user/<username>/delete/
发现刚才删除的文件夹到了这个目录下,类比windows中先把文件放到回收站
然后对test2进行跳过回收站的删除
bin/hdfs dfs -rm -r -skipTrash delete/test2
返回结果
Deleted delete/test2
再查看一下回收站,发现没有test2,生产上不能使用 -skipTrash。
如何找到这些比如 core-site.xml 中的参数是做什么的,上Hadoop的官网查看https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/core-default.xml
修改tmp目录的参数
刚刚修改的删除文件保存分钟数