早晨上班习惯性的看了一眼hadoop集群的信息
显示集群有问题,但是并没有显示那台服务器挂了,于是一台一台服务器登录执行jps查询进行的状态。
看到这些匿名的进程名有些心慌,当然所有的进程都启动于一个用户下也并不是什么高明的运维手段,一旦一个进程异常耗尽了用户的资源,其他的进程也就只有跟着遭殃了。至少我看到过有人启动yarn就是在另外一个普通用户下启动的。
监控平台有一定的价值,如果能直观的显示那个组件那台服务器出现了问题并且近乎实时的发出预警,虽然hadoop在设计时就考虑到了fault-tolerant。
显示两台机器有问题,一台服务器ping不通放弃了,另外一台登录上去发现hostname不对,于是先修改hostname, 切记修改hostname之后一定要su - hadoop再执行其他的命令。
zookeeper 的确很不幸,三个节点有两个节点挂掉了。所以导致整个系统崩溃了(除了hdfs,比较奇葩,yarn所有进程没有了,hbase进程也都没有了)。
启动zookeeper后执行zkServer.sh status
原因是这台服务器的防火墙启动了,于是关闭了防火墙(当然这也不是什么好招)。
zookeeper 正常后重启 yarn和hbase。
重启之后可能出现一系列的奇怪现象,比如目录找不到了,那是因为有分区没有挂载。