今天hadoop集群启动的时候遇到了安全模式的问题。这里说一下:
hadoop安全模式,其实就是hadoop的一个自检模式。当我们启动集群的时候,hadoop会自动进行一些检测,比如数据块的检测。本来应该是3块,可是现在才2块,这个时候就进入了安全模式,知道恢复成3块,才会退出安全模式。这个模式下,我们是无法对hadoop集群进行操作的。所以,如果我们确定集群是正常的,可以手动退出:
在运行Hadoop程序时,有时候会报以下错误:
org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode
在分布式文件系统启动的时候,开始的时候NameNode会进入安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。
hadoop dfsadmin -safemode get 可以查看是否在安全模式
hadoop dfsadmin -safemode leave 可以离开安全模式。