0

Мы тестируем соединение kafka в распределенном режиме, чтобы вытащить записи тем из kafka в HDFS. У нас есть две коробки. Один, в котором работают демоны кафки и зокпера. Мы сохранили один экземпляр подключения kafka в этом поле. У нас есть еще одна коробка, в которой присутствует namenode HDFS. Мы сохранили еще один пример подключения кафки.Проблемы при запуске kafka connect в распределенном режиме

Мы начали кафку, зоопарк и кафку, подключившись в первую коробку. Мы также начали подключать кафку во второй коробке. Теперь, согласно конфлюентной документации, мы должны запустить HDFS-коннектор (или любой другой коннектор), используя REST API. Итак, после запуска подключения kafka в этих двух ящиках, мы попытались запустить соединитель через REST API. Мы попытались ниже команды: -

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 

Как только мы нажмем ввести здесь, мы получаем ниже ответ:

<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> 

The connect-distributed.properties файл на Etc/Kafka/ниже в обоих kafka соединяют узлы. Мы создали указанные три темы, а также (Connect-Коррекции, подключающиеся-конфигов, подключение-статус)

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 

Что такое проблема здесь? Нам не хватает чего-то, чтобы запустить kafka connect в распределенном режиме для работы с HDFS-коннекторами. kafka connect в автономном режиме работает нормально.

ответ

0

Чтобы загрузить соединитель, это команда PUT, а не POST: http://docs.confluent.io/3.1.1/connect/restapi.html#put--connectors-(string-name)-config

На стороне записки, я считаю, что вы локон команда может быть неправильно:

  • вам нужен один -Н переключатель на заголовок, помещая все заголовки в один параметр -H не так, как это работает (я думаю).
  • Я не думаю, что порт является частью заголовка Host.
Смежные вопросы