namenode连接被拒绝:
在一次意外断电之后,重启集群,namenode启动失败,在ambari上报错日志是:连不上hostname:8020。然后,我通过查看日志发现报错:
去网上查一下端口为啥会绑定失败,然后查看端口是否被占用:
netstat -alnp | grep 50070
发现端口是TIME_WAIT状态,而且占用端口是3306也就是mysql,在网上查资料后的解决办法是:
通过调整内核参数解决
vi /etc/sysctl.conf
编辑文件,加入以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
然后执行/sbin/sysctl -p让参数生效。
再查看50070是否还在被占用(不行就重启mysql =.=,下次重启应该就是不会占用了)。
重新用ambari重启hdfs,有遇到了一两个权限问题,修改之后再重启就没问题了。
ambari失去心跳:
- 解决方法:检查网络,重启ambari-server跟agent 可能得到解决。
ambari-server restart
ambari-anget restart
namenode处于安全模式
hdfs dfsadmin -safemode enter 进入
hdfs dfsadmin -safemode get 查看
hdfs dfsadmin -safemode leave 退出
hdfs dfsadmin -safemode wait 等待