Dataflow Flex Template中Kafka truststore文件加载失败问题及解决
问题:GCP Dataflow Flex Template中Kafka信任库文件无法被Worker定位
问题场景
将trust.jks文件通过Dockerfile复制到Flex Template镜像的/tmp目录,本地拉取镜像后确认文件存在,但在GCP Dataflow运行Beam Python管道时,使用ReadFromKafka组件连接Confluent Kafka时失败,报错根源显示/tmp/trust.jks文件不存在。
排查结论
Dataflow的Launcher VM与Worker VM使用的容器环境不同:Launcher会使用自定义的Flex Template镜像,但默认情况下Worker VM使用的是官方Beam SDK镜像,并未包含我们添加的trust.jks文件,因此运行时找不到该文件。
解决方案
通过配置管道的sdk_container_image参数,为Worker VM指定包含trust.jks文件的自定义Flex Template镜像,确保Worker容器环境中存在该信任库文件,从而让Kafka消费者能正常加载文件完成初始化。
内容的提问来源于stack exchange,提问作者somnath chouwdhury
相关产品推荐
相关产品推荐

