0

Nous testons kafka connect en mode distribué pour extraire les enregistrements de rubrique de kafka vers HDFS. Nous avons deux boîtes. Un dans lequel les démons kafka et zookeeper sont en cours d'exécution. Nous avons gardé une instance de kafka connect dans cette boîte. Nous avons une autre boîte où le namenode HDFS est présent. Nous avons gardé une autre instance de Kafka connect ici.Problèmes lors de l'exécution de kafka connect en mode distribué

Nous avons commencé kafka, zookeeper et kafka connect dans la première boîte. Nous avons aussi commencé à connecter kafka dans la deuxième case. Maintenant, conformément à la documentation confluente, nous devons démarrer le connecteur HDFS (ou tout autre connecteur d'ailleurs) en utilisant l'API REST. Ainsi, après avoir démarré kafka connect dans ces deux boîtes, nous avons essayé de démarrer le connecteur via l'API REST. Nous avons essayé ci-dessous commande: -

curl -X POST -H "HTTP/1.1 Host: ip-10-16-34-57.ec2.internal:9092 Content-Type: application/json Accept: application/json" --data '{"name": "hdfs-sink", "config": {"connector.class":"io.confluent.connect.hdfs.HdfsSinkConnector", "format.class":"com.qubole.streamx.SourceFormat", "tasks.max":"1", "hdfs.url":"hdfs://ip-10-16-37-124:9000", "topics":"Prd_IN_TripAnalysis,Prd_IN_Alerts,Prd_IN_GeneralEvents", "partitioner.class":"io.confluent.connect.hdfs.partitioner.DailyPartitioner", "locale":"", "timezone":"Asia/Calcutta" }}' http://ip-10-16-34-57.ec2.internal:8083/connectors 

Dès que nous pressons entrer ici, nous obtenons une réponse ci-dessous:

<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/> 
    <title>Error 415 </title> 
    </head> 
    <body> 
    <h2>HTTP ERROR: 415</h2> 
    <p>Problem accessing /connectors. Reason: 
    <pre> Unsupported Media Type</pre></p> 
    <hr /><i><small>Powered by Jetty://</small></i> 
    </body> 
    </html> 

Le fichier connect-distributed.properties à etc/kafka/est inférieure à la fois la Kafka connecter les nœuds. Nous avons créé ces trois sujets aussi bien (connecter décalages, connectez-configs, connectez-status)

bootstrap.servers=ip-10-16-34-57.ec2.internal:9092 
group.id=connect-cluster 
key.converter=com.qubole.streamx.ByteArrayConverter 
value.converter=com.qubole.streamx.ByteArrayConverter 
enable.auto.commit=true 
auto.commit.interval.ms=1000 
offset.flush.interval.ms=1000 
key.converter.schemas.enable=true 
value.converter.schemas.enable=true 
internal.key.converter=org.apache.kafka.connect.json.JsonConverter 
internal.value.converter=org.apache.kafka.connect.json.JsonConverter 
internal.key.converter.schemas.enable=false 
internal.value.converter.schemas.enable=false 
offset.storage.topic=connect-offsets 
rest.port=8083 
config.storage.topic=connect-configs 
status.storage.topic=connect-status 
offset.flush.interval.ms=10000 

Quel est le problème ici? Manquons-nous quelque chose pour démarrer kafka connect en mode distribué pour fonctionner avec les connecteurs HDFS. Kafka Connect en mode autonome fonctionne très bien.

Répondre