2016-11-03 3 views
1

У меня есть приложение, которое читает из тем Kafka. Теперь мне нужно отправить их в HDFS с помощью разъема Kafka: http://docs.confluent.io/2.0.0/connect/connect-hdfs/docs/index.htmlЕсть ли клиент Kafka Connect Python?

Есть команды для этого же. Мне было интересно, как это можно сделать в сценарии Python. Заранее спасибо!

ответ

1

Если вы используете distributed mode Connect, вы можете использовать библиотеку, например requests, чтобы позвонить REST API. Вы бы просто POST с ресурсом connectors с конфигурацией, и это запустило бы коннектор.

+0

Hi Ewen! Спасибо за наш ответ. Я пробовал это: 'headers = {'Accept': 'application/json'} response = requests.get (" http: // localhost/connector ", headers = headers)' localhost - это мои загрузочные серверы и zookeeper (Соответственно 9092 и 2181 портов). Но я получаю ошибку соединения. 'Файл '/usr/lib/python2.6/site-packages/requests/adapters.py", строка 413, в сообщении Поднять ConnectionError (err, request = request) request.exceptions.ConnectionError: (' Соединение отменено . ', error (111,' Connection reject ')) ' – NoName

+0

Возможно, вы не делаете запрос на нужном порту. Поскольку вы только что использовали 'http: // localhost/connector', вы делаете запрос против порта 80. REST API прослушивает по умолчанию 8083, поэтому вы, вероятно, захотите« http: // localhost: 8083/connector » –

+0

Здравствуйте, Ewen, спасибо за решение. Я попытался это сделать, но при запуске «bin/connect-distributed.sh config/connect-distribution.properties': « ERROR »Исключено в теме работы оленевода, выходящей: (org.apache.kafka.connect. runtime.distributed.DistributedHerder: 183) org.apache.kafka.common.errors.TimeoutException: время ожидания истекло при получении метаданных темы. И мой скрипт возвращает '' – NoName

Смежные вопросы