检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
故障分析 从cerebro界面看到索引只有一个分片。但新建一个索引设成3个分片也是一样会报es_rejected_execution_exception。 继续定位发现记录几乎都写入到了一个分片中。至此问题清楚。是因为产生了热点。
原因分析 这种情况是由于表数据量较大,并且源端通过where语句过滤,但并非索引列,或列值不离散,查询会全表扫描,导致JDBC连接超时。 图1 非索引列 解决方案 优先联系DBA修改表结构,将需要过滤的列配置为索引列,然后重试。
原因分析 MySQL默认开启配置tinyInt1isBit=true,会将TINYINT(1)当作BIT也就是Types.BOOLEAN来处理,将1或0读取为true或false。
源端: 目的端: 故障分析 根据截图可以看出,源端样值中有符号:{ 括号 ”引号,等特殊符号,jdbc驱动会字段转义,导致目的端显示带有转义符号。 DLI外表及OBS桶存储,及文件到表迁移,可以考虑源端作业配置加上包围符号即可,包围符双引号“,单个双引号。
原因分析 这种情况一般是源表与目标表类型不匹配导致,例如源端dli字段为string类型,目标端dws字段为varchar(50)类型,导致精度缺省,就会报:value too long for type character varying。
原因分析 打开日志,搜索insert into,找到如下的日志,根据日志中打印的Yarn ApplicationId到MRS Resource Manager上看Yarn任务详情。 执行Spark SQL的速度与租户队列资源强相关,在执行Hudi任务前,请确保租户队列资源充足。
图1 源端data的数据 图2 目的端data的数据 故障分析 RDS-Mysql和开源Mysql对于date类型的范围不一致。 开源Mysql的date范围一般为1000-01-0到9999-12-21,而RDS-Mysql支持date范围小于1000-01-0。
原因分析 除去Yarn队列资源问题,一般作业是卡在执行Spark SQL读Hudi写Hive临时表,这步执行的速度取决于Hudi表的数据量与Yarn队列剩余资源。 作业配置了导入前清空数据,dws表存量数据多,卡在truncate table操作步骤中,默认5分钟超时。
图1 报错信息 故障分析 客户作业中配置的并发数大于1,CDM会选择分区列进行分区迁移,默认情况:取主键字段,如果没有主键字段取的是从元数据里面的第一个字段作为分区字段。
原因分析 查看后端日志报:org.postgresql.util.PSQLException: ERROR: relation "表名" does not exist。 怀疑是CDM 集群开启沙箱所导致的,后端对集群取消沙箱,重启CDM 集群后问题依然存在。
submit task attempt_local1847334969_1748_m_000003_0, current waiting task number for job job_local1847334969_1748 is : 4 原因分析 集群并发数到达上限 联系SRE
obtain block: BP-787476470-192.168.152.10-1573351961380:blk_1073742171_1347 file=/user/hive/warehouse/db_hive.db/emp/emp.txt (state=,code=0) 原因分析
问题分析 日志中出现源端的read timeout报错,或者terminate by xxx之类的报错。 解决方案 如果源端网络不稳定,可以使用分片重试能力多次执行作业,可能需要调整作业配置。
故障分析 排查客户CDM昨天日志报错发现报错: 2021-09-29 10:35:32,638 ERROR LocalJobRunner Map Task #13 #loader [org.apache.sqoop.connector.hive.hiveWriter.HiveOrcWriter
原因分析 初步怀疑是源端和目标端在字段类型转换出现异常。 将目标端表字段类型biginit改为 string,重新跑作业还是失败,报错内容跟之前一样。 配置开启脏数据,重跑作业后作业依旧失败,但是有3条数据已迁移到目标表。
故障分析 查看文档提示CDM通过获取样值的方式无法获得所有列。 添加字段,因为MongoDB是文档数据库,没有scheme概念。CDM字段映射取的是第一条的json key。CDM支持combine()函数,可以把非公共的列封装为一个列。
图1 没有权限访问 图2 不允许创建连接 原因分析 以上所列的问题均属于权限配置问题。
org.postgresql.util.PSQLException: Database connection failed when ending copy…….caused by: java.net.SocketTimeoutExcepetion:Read timed out; 故障分析
图1 日志信息 原因分析 这种情况一般是在迁移到DWS时数据有中文,且创建作业时选择了目的端自动建表的情况下。原因是DWS的varchar类型是按字节计算长度,一个中文字符在UTF-8编码下可能要占3个字节。
问题描述: 作业日志报错Read time out,日志如下: 原因分析 确认MRS集群的JdbcServer是多实例模式还是多租模式。 如果是多实例模式,跳转3。 否则跳转2。 多租户模式下,确认其他租户的作业是否正常。