flinkcdc 写入hudi报错:org.apache.flink.runtime.client.JobInitializationException: Could not start the JobMaster.
at org.apache.flink.runtime.jobmaster.DefaultJobMasterServiceProcess.lambda$new$0(DefaultJobMasterServiceProcess.java:97)
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1609)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.util.concurrent.CompletionException: org.apache.flink.util.FlinkRuntimeException: Failed to create checkpoint storage at checkpoint coordinator side.
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1606)
... 3 more
Caused by: org.apache.flink.util.FlinkRuntimeException: Failed to create checkpoint storage at checkpoint coordinator side.
at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.(CheckpointCoordinator.java:324)
这个错误是由于Flink在创建检查点存储时出现了问题。你可以尝试以下方法来解决这个问题:
taskmanager.memory.process.size
参数来增加内存分配。例如,将内存分配设置为2GB:flink run -m yarn-cluster -yn 4 -yjm 2g -c com.example.MyJob /path/to/your/jarfile.jar
hudi-conf.yaml
)中的相关配置项设置正确,例如:hoodie:
datasource:
write:
type: hudi
table: my_table
hive_sync_enable: true
hive_database: my_database
hive_table: my_table
hive_partition_fields: partition_field1,partition_field2
hive_partition_extractor_class: org.apache.hudi.hive.MultiPartKeysValueExtractor
hive_jdbc_url: jdbc:hive2://localhost:10000/my_database
hive_username: hive_user
hive_password: hive_password
这个错误是由于Flink在尝试创建检查点存储时失败导致的。可能的原因有很多,例如磁盘空间不足、文件系统权限问题等。你可以尝试以下方法来解决这个问题:
检查你的Kubernetes集群是否有足够的资源(如CPU和内存)来运行Flink任务。如果资源不足,你需要增加集群的资源或者优化你的Flink任务以减少资源使用。
检查你的Kubernetes集群的文件系统是否有足够的空间来存储检查点。如果空间不足,你需要清理一些不必要的文件或者增加文件系统的容量。
检查你的Kubernetes集群的权限设置,确保Flink进程有足够的权限来访问和操作文件系统。
检查你的Flink配置文件,确保所有的配置都是正确的。特别是关于检查点存储的配置,你需要确保它指向一个可用的存储位置。
如果以上方法都无法解决问题,你可能需要查看Flink的日志以获取更详细的错误信息。这可能会帮助你找到问题的根源。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。