在hadoop启动namenode的时候,会启动安全模式(safemode),在该模式下,namenode会等待datanode向它发送块报告(block report),只有接收到的datanode上的块数量(datanodes blocks)和实际的数量(total blocks)接近一致, 超过 datanodes blocks / total blocks >= 99.9% 这个阀值,就表示 块数量一致,就会推出安全模式。达到99.9%的阀值之后,文件系统不会立即推出安全模式,而是会等待30秒之后才会退出。
在安全模式下不可以进行以下操作:
1)创建文件夹
2)上传文件
3)删除文件
注意:启动了namenode,未启动datanode,则文件系统处于安全模式,只可以查看文件系统上有哪些文件,不可以查看文件内容,因为datanode都还没启动,怎么可能可以查看文件内容
手动开启安全模式的命令如下:
[yh.zeng@namenode1 sbin]$ hdfs dfsadmin -safemode enter
Safe mode is ON
可以通过 http://namenode1:50070 查看文件系统是否处于安全模式,如下图
在该模式下,不可以进行 创建文件夹、上传文件、删除文件操作,否则会报错,如下:
yh.zeng@namenode1 sbin]$ hdfs dfs -rm /user/testdir/mapreduce/wordcount/input/word.txt
错误: 找不到或无法加载主类 dfsrm
手动关闭安全模式命令如下:
hdfs dfsadmin -safemode leave