PubSub Kafka Connect Google平台从环境变量读取凭据文件时出错



因此,我正在尝试运行PubSub Kafka连接器。我有一个本地Kafka服务器和本地Zookeeper在运行。然后,我使用命令:

.binwindowsconnect-standalone.bat .etckafkaWorkerConfig.properties 
.etckafkaconfigSink.properties .etckafkaconfigSource.properties

但我得到了错误:

Error while starting connector CPSConnectorSource
org.apache.kafka.connect.errors.ConnectException: Error verifying the subscription TestSubscription for project kohls-sis-sandbox
at com.google.pubsub.kafka.source.CloudPubSubSourceConnector.verifySubscription(CloudPubSubSourceConnector.java:201)
at com.google.pubsub.kafka.source.CloudPubSubSourceConnector.start(CloudPubSubSourceConnector.java:116)
at org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:100)
at org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:125)
at org.apache.kafka.connect.runtime.WorkerConnector.transitionTo(WorkerConnector.java:182)
at org.apache.kafka.connect.runtime.Worker.startConnector(Worker.java:178)
at org.apache.kafka.connect.runtime.standalone.StandaloneHerder.startConnector(StandaloneHerder.java:250)
at org.apache.kafka.connect.runtime.standalone.StandaloneHerder.putConnectorConfig(StandaloneHerder.java:164)
at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:94)
Caused by: java.io.IOException: Error reading credential file from environment variable GOOGLE_APPLICATION_CREDENTIALS, value 'C:GooglePlatformservicekey.json;': File does not exist.
at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentialsUnsynchronized(DefaultCredentialsProvider.java:102)
at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:67)
at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:54)
at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:36)
at com.google.pubsub.kafka.common.ConnectorUtils.getChannel(ConnectorUtils.java:52)
at com.google.pubsub.kafka.source.CloudPubSubSourceConnector.verifySubscription(CloudPubSubSourceConnector.java:192)
... 8 more
Caused by: java.io.IOException: File does not exist.
at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentialsUnsynchronized(DefaultCredentialsProvider.java:94)
... 13 more

请在此处填写日志文件。此处的属性文件

我将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为C:GooglePlatformservicekey.json;,并且文件位于指定的位置。但是,错误消息指出该文件不存在,那么环境变量设置是否不正确?

因此,正如上面所说的"500-内部服务器错误",我不得不删除系统变量GOOGLE_APPLICATION_CREDENTIALS中的分号。我也没有为我的服务帐户设置正确的角色。因此,请确保您的服务帐户被分配了Pub/Sub管理员角色。我还为我的服务帐户分配了Pub/Sub发布者角色,但只有Pub/Sub管理员角色可能有效。

我本应该更仔细地阅读这里的运行前步骤。

最新更新