0

Je suis en train de construire un pipeline où je dois déplacer des données binaires du sujet kafka vers le flux kinesis sans se transformer. Donc, je prévois d'utiliser ByteArrayConverter pour la configuration des propriétés du travailleur. Mais je reçois l'erreur suivante! Bien que je puisse voir la classe ByteArrayConverter dans hereKafka org.apache.kafka.connect.converters.ByteArrayConverter ne fonctionne pas comme valeurs pour key.converter et value.converter

sur la version 0.11.0. Je ne trouve pas la même classe sous 3.2.x :(

Toute aide serait très apprécié.

key.converter=io.confluent.connect.replicator.util.ByteArrayConverter value.converter=io.confluent.connect.replicator.util.ByteArrayConverter

Exception in thread "main" org.apache.kafka.common.config.ConfigException: Invalid value io.confluent.connect.replicator.util.ByteArrayConverter for configuration key.converter: Class io.confluent.connect.replicator.util.ByteArrayConverter could not be found. 
    at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:672) 
    at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:418) 
    at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:55) 
    at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:62) 
    at org.apache.kafka.connect.runtime.WorkerConfig.<init>(WorkerConfig.java:156) 
    at org.apache.kafka.connect.runtime.distributed.DistributedConfig.<init>(DistributedConfig.java:198) 
    at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:65) 
+0

Juste pour préciser. J'utilise la version confluent-kafka 3.0.1. – Pradeep

+0

Confluent Kafka 3.0.1 n'inclut pas ce convertisseur. Vous devez utiliser une version qui l'inclut ou le télécharger et le sauvegarder vous-même. Apache Kafka est probablement ce que vous voulez. Confluent Enterprise inclut également ce convertisseur sur 3.2. La version open source ne l'inclura pas avant le 3.3. – dawsaw

Répondre

2

org.apache.kafka.connect.converters.ByteArrayConverter n'a été ajouté à Apache Kafka 0.11 (qui est Confluent 3.3) Si vous exécutez une distribution Confluent plus tôt que 3.3 alors vous aurez besoin de la distribution Confluent Enterprise (pas Confluent Open Source) et utilisez le convertisseur io.confluent.connect.replicator.util.ByteArrayConverter

+0

Aussi pourriez-vous s'il vous plaît laissez-moi savoir la différence entre 'org.apache.kafka.connect.converters.ByteArrayConverter' et' io.confluent.connect.replicator.util.ByteArrayConverte r'? Est-ce que les deux servent le même but? – Pradeep

+0

Ils font tous les deux la même chose. C'est juste que le Replicator n'est pas open source et est seulement livré avec Confluent Enterprise, alors que celui d'Apache Kafka est maintenant open source et livré avec toutes les versions de Kafka à partir de 0.11 ou plus. –