Соединитель источника Kafka s3: Не удалось создать экземпляр класса Partitioner - PullRequest
2 голосов
/ 16 октября 2019

Я получил ошибку Не удалось создать экземпляр класса Partitioner при попытке создать исходный соединитель s3. Что было сделано: Установлено confluent-hub и confluentinc/kafka-connect-s3-source, экспортирована CLASSHPATH. (1.0.1 является последней версией)

$ confluent-hub install --no-prompt confluentinc/kafka-connect-s3-source:1.0.1
$ export CLASSPATH=/connector/share/confluent-hub-components/confluentinc-kafka-connect-s3-source/lib/*

Настройки соединителей являются стандартными из документации (connector.properties)

name=s3-source
tasks.max=1
connector.class=io.confluent.connect.s3.source.S3SourceConnector
s3.bucket.name=confluent-kafka-connect-s3-testing
format.class=io.confluent.connect.s3.format.avro.AvroFormat
confluent.license=
confluent.topic.bootstrap.servers=kafka:9092
confluent.topic.replication.factor=1

transforms=AddPrefix
transforms.AddPrefix.type=org.apache.kafka.connect.transforms.RegexRouter
transforms.AddPrefix.regex=.*
transforms.AddPrefix.replacement=copy_of_$0

Подробная ошибка

$ connect-standalone.sh worker.properties connector.properties
[2019-10-16 12:36:02,410] INFO Kafka version: 2.3.0 (org.apache.kafka.common.utils.AppInfoParser:117)
[2019-10-16 12:36:02,411] INFO Kafka commitId: fc1aaa116b661c8a (org.apache.kafka.common.utils.AppInfoParser:118)
[2019-10-16 12:36:02,412] INFO Kafka startTimeMs: 1571229362410 (org.apache.kafka.common.utils.AppInfoParser:119)
[2019-10-16 12:36:02,675] INFO License for single cluster, single node (io.confluent.license.LicenseManager:417)
[2019-10-16 12:36:02,683] INFO Closing License Store (io.confluent.license.LicenseStore:197)
[2019-10-16 12:36:02,683] INFO Stopping KafkaBasedLog for topic _confluent-command (org.apache.kafka.connect.util.KafkaBasedLog:164)
[2019-10-16 12:36:02,686] INFO [Producer clientId=s3-source-license-manager] Closing the Kafka producer with timeoutMillis = 9223372036854775807 ms. (org.apache.kafka.clients.producer.KafkaProducer:1153)
[2019-10-16 12:36:02,701] INFO Stopped KafkaBasedLog for topic _confluent-command (org.apache.kafka.connect.util.KafkaBasedLog:190)
[2019-10-16 12:36:02,702] INFO Closed License Store (io.confluent.license.LicenseStore:199)
[2019-10-16 12:36:02,704] ERROR WorkerConnector{id=s3-source} Error while starting connector (org.apache.kafka.connect.runtime.WorkerConnector:119)
org.apache.kafka.connect.errors.ConnectException: Failed to instantiate Partitioner class 
    at io.confluent.connect.s3.source.S3SourceConnectorConfig.getPartitioner(S3SourceConnectorConfig.java:612)
    at io.confluent.connect.s3.source.S3SourceConnector.doStart(S3SourceConnector.java:94)
    at io.confluent.connect.s3.source.S3SourceConnector.start(S3SourceConnector.java:86)
    at org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:111)
    at org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:136)
    at org.apache.kafka.connect.runtime.WorkerConnector.transitionTo(WorkerConnector.java:196)
    at org.apache.kafka.connect.runtime.Worker.startConnector(Worker.java:252)
    at org.apache.kafka.connect.runtime.standalone.StandaloneHerder.startConnector(StandaloneHerder.java:293)
    at org.apache.kafka.connect.runtime.standalone.StandaloneHerder.putConnectorConfig(StandaloneHerder.java:209)
    at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:115)

Янезнаком с Java, но теперь я пытаюсь заглянуть в исходный код внутри jars. Любая помощь будет полезна и спасибо заранее.

1 Ответ

0 голосов
/ 17 октября 2019

Звучит так, будто ваша установка немного странная. Для запуска Kafka Connect в Docker вы должны использовать выделенное изображение, например confluentinc/cp-kafka-connect.

Чтобы увидеть пример Kafka Connect, развернутого с Docker, посмотрите http://rmoff.dev/bbuzz19_demo-code и сопровождающие talk и слайды

...