首页 > 大数据 > Spark > 大数据通用组件故障处理
HDFS
1. HDFS 服务一直异常
检查 HDFS是否处于安全模式。
检查 ZooKeeper服务是否运行正常。
2. HDFS 维护客户端出现OutOfMemoryError 异常
使用 HDFS客户端之前,需要在HADOOP_CLIENT_OPTS更新"-Xmx" GC参数。
直接执行如下命令:
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xmx512m"
在命令中调整参数,减少 HDFS维护客户端运行命令时所需的内存。
当执行 hdfs dfs -ls /user/*/*/*/*命令时上报OutOfMemoryError,您可以执行类似的命令来获取目录。例如:hdfs dfs -ls -R /user。
3. NameNode 的主备倒换失败
需要格式化 ZKFC,并将元数据从主NameNode拷贝到新增的NameNode节点中。
Zookeeper
1. ZooKeeper 无法对外提供服务
检查 ZooKeeper安装并运行的实例是否为奇数个,如3个、5个。
恢复故障的 ZooKeeper服务。
2. 安装 DNS 导致ZooKeeper 服务异常
ZooKeeper所在节点的“/etc/hosts”配置错误,ZooKeeper所在节点配置了DNS服务。
检查 ZooKeeper故障节点的“/etc/hosts”文件中,IP和主机名是否正确,是否有一个IP对应多个主机名,或者一个主机名对应多个IP的情况。
确认 ZooKeeper所在的节点没有安装DNS服务
Yarn
1. ResourceManager 原生界面的链接不可用
检查本地的 “hosts”文件中是否对HostName和IP的对应关系进行了配置。 检 查该集群是否开放了相应端口。
2. ResourceManager 节点故障
查看是否有 Yarn服务不可用告警产生,并且告警原因为No active instance,参考告警中描述操作。
检查 ZooKeeper服务状态,如果没有告警,说明ZooKeeper服务正常,不用检查。检查网络状态。
Spark
1. 任务挂起,报 Initial job has not accepted any resources 异常
查看集群内每台节点中的 “/etc/hosts”文件中是否加入了客户端节点的IP和主机名。如果“/etc/hosts”文件未加入,则修改文件,重试跑应用。
若 “/etc/hosts”加入了客户端节点的IP和主机名后,该问题还存在时,查 看 Executor端对应的进程CoarseGrainedExecutorBackend是否存在。如果不存在,可能是由于executor memory配置太大导致的。
2.内存 不足,无法退出应用程序
执行命令强制将任务退出,然后通过修改内存参数的方式解决内存不足的问题,使任务执行成功。
针对此类数据量大的任务,希望任务不再挂起,遇到内存不足时,直接提示任务运行失败。
3. 由于磁盘空间不足导致运行应用程序失败
应用程序中,若有 shuffle操作时,会将shuffle的数据写到磁盘中。当磁盘空间不够时,便会出现“No space left on device”错误。
建议在执行 Spark开发程序之前,应先根据实际数据量,估算shuffle过程的数据的大小,配置足够的磁盘空间再提交应用程序。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70014251/viewspace-2967026/ ,如需转载,请注明出处,否则将追究法律责任。