hudi 0.9.0-relese版本无法加载默认配置项问题与修复方法

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 本文介绍hudi 0.9.0-relese版本无法加载默认配置项问题与修复方法

问题描述:

使用release-0.9.0分支对hudi进行打包,在使用flink以及spark的时候会报配置项空指针问题。就是某些配置项本来是可选的,有默认值的,但是在使用过程中发现该默认值无法加载。例如:

ction.scala:122) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.actor.Actor.aroundReceive(Actor.scala:517) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.actor.Actor.aroundReceive$(Actor.scala:515) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:225) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.actor.ActorCell.receiveMessage(ActorCell.scala:592) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.actor.ActorCell.invoke(ActorCell.scala:561) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.dispatch.Mailbox.run(Mailbox.scala:225) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.dispatch.Mailbox.exec(Mailbox.scala:235) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [flink-dist_2.12-1.12.2.jar:1.12.2]
  at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [flink-dist_2.12-1.12.2.jar:1.12.2]
Caused by: org.apache.flink.util.FlinkRuntimeException: Failed to start the operator coordinators
  at org.apache.flink.runtime.scheduler.SchedulerBase.startAllOperatorCoordinators(SchedulerBase.java:1258) ~[flink-dist_2.12-1.12.2.jar:1.12.2]
  at org.apache.flink.runtime.scheduler.SchedulerBase.startScheduling(SchedulerBase.java:624) ~[flink-dist_2.12-1.12.2.jar:1.12.2]
  at org.apache.flink.runtime.jobmaster.JobMaster.startScheduling(JobMaster.java:1032) ~[flink-dist_2.12-1.12.2.jar:1.12.2]
  at java.util.concurrent.CompletableFuture.uniRun(CompletableFuture.java:719) ~[?:1.8.0_241]
  ... 29 more
Caused by: java.lang.NullPointerException: Name is null
  at java.lang.Enum.valueOf(Enum.java:236) ~[?:1.8.0_241]
  at org.apache.hudi.metrics.MetricsReporterType.valueOf(MetricsReporterType.java:24) ~[hudi-flink-bundle_2.12-0.9.0.jar:0.9.0]
  at org.apache.hudi.config.HoodieMetricsConfig$Builder.build(HoodieMetricsConfig.java:262) ~[hudi-flink-bundle_2.12-0.9.0.jar:0.9.0]
  at org.apache.hudi.config.HoodieWriteConfig$Builder.setDefaults(HoodieWriteConfig.java:2085) ~[hudi-flink-bundle_2.12-0.9.0.jar:0.9.0]
  at org.apache.hudi.config.HoodieWriteConfig$Builder.build(HoodieWriteConfig.java:2120) ~[hudi-flink-bundle_2.12-0.9.0.jar:0.9.0]
  at org.apache.hudi.util.StreamerUtil.getHoodieClientConfig(StreamerUtil.java:195) ~[hudi-flink-bundle_2.12-0.9.0.jar:0.9.0]
  at org.apache.hudi.util.StreamerUtil.createWriteClient(StreamerUtil.java:317) ~[hudi-flink-bundle_2.12-0.9.0.jar:0.9.0]
  at org.apache.hudi.sink.StreamWriteOperatorCoordinator.start(StreamWriteOperatorCoordinator.java:153) ~[hudi-flink-bundle_2.12-0.9.0.jar:0.9.0]
  at org.apache.flink.runtime.operators.coordination.OperatorCoordinatorHolder.start(OperatorCoordinatorHolder.java:189) ~[flink-dist_2.12-1.12.2.jar:1.12.2]
  at org.apache.flink.runtime.scheduler.SchedulerBase.startAllOperatorCoordinators(SchedulerBase.java:1253) ~[flink-dist_2.12-1.12.2.jar:1.12.2]
  at org.apache.flink.runtime.scheduler.SchedulerBase.startScheduling(SchedulerBase.java:624) ~[flink-dist_2.12-1.12.2.jar:1.12.2]
  at org.apache.flink.runtime.jobmaster.JobMaster.startScheduling(JobMaster.java:1032) ~[flink-dist_2.12-1.12.2.jar:1.12.2]
  at java.util.concurrent.CompletableFuture.uniRun(CompletableFuture.java:719) ~[?:1.8.0_241]
  ... 29 more
2021-09-13 05:15:11,626 INFO  org.apache.flink.runtime.blob.BlobServer                     [] - Stopped BLOB server at 0.0.0.0:33119

修复方法

hudi在master对此问题进行了修复,具体可参考以下commit:

https://github.com/apache/hudi/commit/0f39137ba854a2f808e2108c6aa10f4260b00844

对源码进行修改即可。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
6月前
|
分布式计算 大数据 数据处理
maxcompute配置问题之配置文件key参数如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
maxcompute配置问题之配置文件key参数如何解决
|
6月前
|
SQL 分布式计算 DataWorks
maxcompute配置问题之配置回退的参数如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
|
Java Maven
maven报错:[ERROR] 不再支持源选项 7。请使用 8 或更高版本。
maven报错:[ERROR] 不再支持源选项 7。请使用 8 或更高版本。
488 0
|
分布式计算 Hadoop Java
HBase 安装之后版本的验证的bug:(错误的替换、找不到或无法加载主类、SLF4J)
HBase 安装之后版本的验证的bug:(错误的替换、找不到或无法加载主类、SLF4J)
1012 1
HBase 安装之后版本的验证的bug:(错误的替换、找不到或无法加载主类、SLF4J)
|
域名解析 Kubernetes Java
图文详述Nacos配置中心使用:应用间配置共享、扩展配置文件加载优先级、新老版本差异
图文详述Nacos配置中心使用:应用间配置共享、扩展配置文件加载优先级、新老版本差异
4284 1
图文详述Nacos配置中心使用:应用间配置共享、扩展配置文件加载优先级、新老版本差异
|
Java 程序员 Maven
【Maven运行报错及解决方案】错误 不再支持源选项 5。请使用 6 或更高版本。
【Maven运行报错及解决方案】错误 不再支持源选项 5。请使用 6 或更高版本。
1039 0
【Maven运行报错及解决方案】错误 不再支持源选项 5。请使用 6 或更高版本。
|
5月前
|
Java Maven
maven执行 打包时报错提示:不再支持源选项 5。请使用 7 或更高版本。
maven执行 打包时报错提示:不再支持源选项 5。请使用 7 或更高版本。
86 0
|
6月前
|
Kubernetes Cloud Native 测试技术
ChaosBlade文件问题之自定义文件大小如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
|
6月前
|
JSON 移动开发 API
mPaaS问题之配置按照插件提示报错如何解决
mPaaS配置是指在mPaaS平台上对移动应用进行的各项设置,以支持应用的定制化和优化运行;本合集将提供mPaaS配置的操作指南和最佳实践,助力开发者高效管理和调整移动应用的设置。
|
6月前
|
小程序 开发者
mPaaS问题之重新导入配置文件报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。