本部分提供了问题排查指南,可帮助您解决在使用 Pub/Sub 来源连接器或 Pub/Sub 接收器连接器时遇到的常见问题。
缺少 Pub/Sub 权限
如果 Managed Kafka 服务账号无权访问 Pub/Sub 资源,则会发生以下错误:
PERMISSION_DENIED: User not authorized to perform this action.
此错误可能是由多种原因造成的。
Pub/Sub 源连接器:Managed Kafka 服务账号可能没有访问 Pub/Sub 订阅的权限。如需解决此问题,请向 Managed Kafka 服务账号授予以下两个 Identity and Access Management (IAM) 角色:
- Pub/Sub Subscriber (
roles/pubsub.subscriber) - Pub/Sub Viewer (
roles/pubsub.viewer)
如需了解详情,请参阅授予从 Pub/Sub 订阅读取数据的权限。
- Pub/Sub Subscriber (
Pub/Sub 接收器连接器:Managed Kafka 服务账号可能没有发布到 Pub/Sub 主题的权限。如需解决此问题,请向 Managed Kafka 服务授予 Pub/Sub Publisher (
roles/pubsub.publisher) IAM 角色。如需了解详情,请参阅授予向 Pub/Sub 主题发布消息的权限。
验证订阅时出错
如果 Pub/Sub Source 连接器找不到 Pub/Sub 订阅,该连接器会失败,并显示类似于以下内容的错误:
org.apache.kafka.connect.errors.ConnectException: Error verifying the subscription SUBSCRIPTION for project PROJECT
如需解决此问题,请验证连接器的 cps.subscription 配置是否指定了正确的订阅,以及您的项目中是否存在该订阅。
连接器任务未能转换记录
如果连接器的键转换器或值转换器与记录的数据类型不兼容,则连接器会失败,并显示类似于以下内容的错误:
org.apache.kafka.connect.errors.DataException: Invalid schema type for
CONVERTER_NAME: DATA_FORMAT
如需解决此问题,请将键转换器或值转换器更改为正确的类,以支持架构数据类型。
例如,如果您将键转换器设置为 ByteArrayConverter,则可能会看到错误 "Invalid schema type for ByteArrayConverter: STRING"。出现此错误的原因是 ByteArrayConverter 不支持 STRING 类型。而是改用 org.apache.kafka.connect.storage.StringConverter。