从这个报错的异常内容我们先翻译一下,大概就是指在集群启动的时候,namenode因为出现了端口占用的情况,导致nameNode不可用,导致的集群无法正常启动!
从具体的日志中我们可以看出,我在sbin目录下执行了stop-all.sh关闭集群的指令之后,在开启集群之后,出现了nameNode启动失败的情况,并且是因为地址已经被使用。
说明我们在上一次关闭集群的时候出现了"假死"的状态!
总结:真死——进程不存在且不可用(process information unavailable)
假死——进程存在但不可用 (process information unavailable)
因此我们再尝试关闭集群./stop-all.sh
,然后用jps查看进程
发现果然进程还在,每个进程名左边显示的是进程号。既然系统无法关闭进程,那么我们只能使用kill -9 [进程号]
的形式强行把进程干掉!
执行kill -9 79473 79606 79766 81704 80204 80303
然后我们重新启动集群,发现可以对文件系统执行更新操作后说明NameNode已经成功启动了!