Hudi目的端的作业失败,日志报错Read Timeout怎么解决?
问题描述:
作业日志报错Read time out,日志如下:
原因分析
- 确认MRS集群的JdbcServer是多实例模式还是多租模式。
- 多租户模式下,确认其他租户的作业是否正常。
- 进一步确认:用dlf建个脚本,选择直连连接,执行一条spark sql,看是否报time out的错(甚至可能数据库都list不出来)。如果有以上现象,大概率是MRS集群的jdbc server出了问题。
- 单租户执行不了spark sql,则多半是队列资源限制,打开yarn,搜索租户的队列,查看Spark2x-JDBCServer2x的yarn任务,此时可能会搜索不到yarn任务,或者State为ACCEPTED,这两种情况都是资源不足起不了yarn任务的现象。打开yarn的schedule,查看队列资源,关注以下几个参数:
Max Resources:队列中最大可供使用的内存与CPU核数
Used Application Master Resources: 已使用的AM资源
Max Application Master Resources: 队列中最大可供使用的AM资源
通过对比基本就能确定是哪个资源不足导致yarn任务执行异常。
解决方案
扩充队列资源,或者停止其他yarn任务释放资源。