互联网技术 / 互联网资讯 · 2024年3月9日

修复HIVE元数据与HDFS数据不一致问题

前言

大家好,我是明哥!

本片博文是”大数据问题排查系列”之一,讲述某HiVE SQL 作业因为 HiVE 中的元数据与 HDFS中实际的数据不一致引起的一个问题的排查和修复。

以下是正文。

问题现象

客户端报错如下:

unable to MOVe souRce xxx to destination xxx

因HIVE 元数据与HDFS上的数据不一致引起的问题的修复

客户端报错

问题分析

客户端的报错信息,并没有完全展现问题背后的全貌。我们进入 HiveseRveR2 所在节点查看HiveseRveR2的日志,可以看到如下相关信息:

2021-09-01 11:47:46,795 INFO oRg.Apache.hadoop.Hive.ql.exec.Task: [HiveSeRveR2-background-Pool: ThRead-1105]: loading data to table hs_ods.ods_ses_acct_aSSuRe_scale paRtITion (paRt_date=20210118) fRoM hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118/.Hive-staging_Hive_2021-09-01_11-47-31_216_694180642957006705-35/-ext-10000 2021-09-01 11:47:46,795 INFO Hive.MetasTore: [HiveSeRveR2-background-Pool: ThRead-1105]: HMS client filteRing is enabled. 2021-09-01 11:47:46,795 INFO Hive.MetasTore: [HiveSeRveR2-background-Pool: ThRead-1105]: trying to connect to MetasTore wITh URI thRift://hs01:9083 2021-09-01 11:47:46,795 INFO Hive.MetasTore: [HiveSeRveR2-background-Pool: ThRead-1105]: Opened a connection to MetasTore, cuRRent Connections: 54 2021-09-01 11:47:46,796 INFO Hive.MetasTore: [HiveSeRveR2-background-Pool: ThRead-1105]: Connected to MetasTore. 2021-09-01 11:47:46,928 INFO oRg.Apache.hadoop.Hive.ql.exec.MOVeTask: [HiveSeRveR2-background-Pool: ThRead-1105]: PaRtITion is: {paRt_date=20210118} 2021-09-01 11:47:46,945 INFO oRg.Apache.hadoop.Hive.coMMon.fileUtils: [HiveSeRveR2-background-Pool: ThRead-1105]: CReating diRecTory if IT doesn’t exist: hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118 2021-09-01 11:47:46,947 Error Hive.ql.Metadata.Hive: [HiveSeRveR2-background-Pool: ThRead-1105]: FAIled to MOVe: {} 2021-09-01 11:47:46,947 Error oRg.Apache.hadoop.Hive.ql.DRiveR: [HiveSeRveR2-background-Pool: ThRead-1105]: Failed: Execution Error, RetuRn code 1 fRoM oRg.Apache.hadoop.Hive.ql.exec.MOVeTask. unable to MOVe souRce hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118/.Hive-staging_Hive_2021-09-01_11-47-31_216_694180642957006705-35/-ext-10000 to destination hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118 2021-09-01 11:47:46,948 INFO oRg.Apache.hadoop.Hive.ql.DRiveR: [HiveSeRveR2-background-Pool: ThRead-1105]: CoMpleted executing coMMand(queRyId=Hive_20210901114731_d7a78302-fb2a-4b45-9472-db6a9787f710); TiMe taken: 15.489 seconds 2021-09-01 11:47:46,957 Error oRg.Apache.Hive.seRvice.cli.operation.operation: [HiveSeRveR2-background-Pool: ThRead-1105]: Error Running Hive queRy: oRg.Apache.Hive.seRvice.cli.HiveSQLException: Error wHile ProceSSing stateMent: Failed: Execution ERRoR, RetuRn code 1 fRoM oRg.Apache.hadoop.Hive.ql.exec.MOVeTask. unable to MOVe souRce hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118/.Hive-staging_Hive_2021-09-01_11-47-31_216_694180642957006705-35/-ext-10000 to destination hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118 at oRg.Apache.Hive.seRvice.cli.operation.operation.toSQLException(operation.java:329) ~[Hive-seRvice-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.Hive.seRvice.cli.operation.SQLoperation.RunQueRy(SQLoperation.java:258) ~[Hive-seRvice-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.Hive.seRvice.cli.operation.SQLoperation.acceSS$600(SQLoperation.java:92) ~[Hive-seRvice-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.Hive.seRvice.cli.operation.SQLoperation$backgroundWoRk$1.Run(SQLoperation.java:345) [Hive-seRvice-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at java.security.AcceSSContRolleR.doPRivileged(Native method) ~[?:1.8.0_271] at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_271] at oRg.Apache.hadoop.secuRITy.UserGRoupinformation.doAs(useRGRoupinformation.java:1875) [hadoop-coMMon-3.0.0-cdh6.3.2.jaR:?] at oRg.Apache.Hive.seRvice.cli.operation.SQLoperation$backgroundWoRk.Run(SQLoperation.java:357) [Hive-seRvice-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at java.util.concuRRent.ExecuTors$RunnableAdapteR.call(ExecuTors.java:511) [?:1.8.0_271] at java.util.concuRRent.FutuReTask.Run(FutuReTask.java:266) [?:1.8.0_271] at java.util.concuRRent.ThReadPoolExecuTor.RunWoRkeR(ThReadPoolExecuTor.java:1149) [?:1.8.0_271] at java.util.concuRRent.ThReadPoolExecuTor$WoRkeR.Run(ThReadPoolExecuTor.java:624) [?:1.8.0_271] at java.lang.ThRead.Run(ThRead.java:748) [?:1.8.0_271] Caused by: oRg.Apache.hadoop.Hive.ql.Metadata.HiveException: unable to MOVe souRce hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118/.Hive-staging_Hive_2021-09-01_11-47-31_216_694180642957006705-35/-ext-10000 to destination hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118 at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.getHiveException(Hive.java:3449) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.getHiveException(Hive.java:3405) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.MOVefile(Hive.java:3400) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.ReplACEfiles(Hive.java:3697) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.loadPaRtITionInteRnal(Hive.java:1614) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.loadPaRtITion(Hive.java:1525) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.loadPaRtITion(Hive.java:1489) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.exec.MOVeTask.execute(MOVeTask.java:501) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.exec.Task.executeTask(Task.java:199) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.exec.TaskRunneR.RunSequential(TaskRunneR.java:97) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.DRiveR.launchTask(DRiveR.java:2200) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.DRiveR.execute(DRiveR.java:1843) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.DRiveR.RunInteRnal(DRiveR.java:1563) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.DRiveR.Run(DRiveR.java:1339) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.DRiveR.Run(DRiveR.java:1334) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.Hive.seRvice.cli.operation.SQLoperation.RunQueRy(SQLoperation.java:256) ~[Hive-seRvice-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] … 11 MoRe Caused by: oRg.Apache.hadoop.Hive.ql.Metadata.HiveException: unable to MOVe souRce hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118/.Hive-staging_Hive_2021-09-01_11-47-31_216_694180642957006705-35/-ext-10000/000000_0 to destination hdfs://hs01:8020/User/hundsun/dap/Hive/hs_ods/ods_ses_acct_aSSuRe_scale/paRt_date=20210118/000000_0 at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.getHiveException(Hive.java:3449) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.getHiveException(Hive.java:3405) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.handlePoolException(Hive.java:3422) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.MOVefile(Hive.java:3367) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.ReplACEfiles(Hive.java:3697) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.loadPaRtITionInteRnal(Hive.java:1614) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.loadPaRtITion(Hive.java:1525) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.Metadata.Hive.loadPaRtITion(Hive.java:1489) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.exec.MOVeTask.execute(MOVeTask.java:501) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.exec.Task.executeTask(Task.java:199) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.exec.TaskRunneR.RunSequential(TaskRunneR.java:97) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql.DRiveR.launchTask(DRiveR.java:2200) ~[Hive-exec-2.1.1-cdh6.3.2.jaR:2.1.1-cdh6.3.2] at oRg.Apache.hadoop.Hive.ql

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册