大数据通用组件故障处理

2023/07/28 16:02
阅读数 84

本文分享自天翼云开发者社区《大数据通用组件故障处理》,作者:f****n

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过程的数据的大小,配置足够的磁盘空间再提交应用程序。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部