Как загрузить тему Kafka в HDFS?

Я использую песочницу hortonworks. создание темы:

./kafka-topics.sh --create --zookeeper 10.25.3.207:2181 --replication-factor 1 --partitions 1 --topic lognew

отставание каталога журнала доступа apache:

tail -f /var/log/httpd/access_log |./kafka-console-producer.sh --broker-list 10.25.3.207:6667 --topic lognew

На другом терминале (из kafka bin) запустите пользователя:

./kafka-console-consumer.sh --zookeeper 10.25.3.207:2181 --topic lognew --from-beginning

Журналы доступа apache отправляются в тему kafka " lognew".

Мне нужно сохранить их в HDFS. Любые идеи или предложения относительно того, как это сделать.

Спасибо заранее. Deepthy

2 ответа

мы используем camus.

Camus - это простая работа MapReduce, разработанная LinkedIn для загрузки данных от Кафки до HDFS. Он способен постепенно копировать данные из Кафка в HDFS, чтобы каждый запуск задания MapReduce где предыдущий запуск прекратился. В LinkedIn Camus используется для загрузки миллиарды сообщений в день от Kafka до HDFS.

Но похоже, что он заменен на gobblin

Gobblin - универсальная система анализа данных для извлечения, преобразование и загрузка большого объема данных из множества данных источники, например, базы данных, API-интерфейсы для отдыха, серверы FTP/SFTP, файлы фильтров и т. на Hadoop. Гоббл выполняет рутинные задачи, необходимые для всех прием данных ETL, включая планирование заданий/задач, разбиение задач, обработка ошибок, управление состоянием, проверка качества данных, данные публикации и т.д. Гобблин глотает данные из разных источников данных в одна и та же структура выполнения и управляет метаданными разных источники все в одном месте. Это в сочетании с другими функциями, такими как автоматическая масштабируемость, отказоустойчивость, обеспечение качества данных, расширяемость и способность обрабатывать эволюцию модели данных, делает Gobblin - простой в использовании, корыстный и эффективный прием данных рамки.


У вас есть еще несколько вариантов:

  • Используйте Apache Flume для чтения сообщений от Kafka и записи их в HDFS. Существует несколько примеров того, как вы можете настроить его, но одна статья из Cloudera достаточно хорошо описывает эту тему. Они даже назвали решение Flafka;)
  • Используйте Kafka HDFS Connector, который достаточно прост в настройке. Тем не менее, это потребует Confluent Kafka (который все еще остается открытым).

Мы проверили оба достаточно успешно.

licensed under cc by-sa 3.0 with attribution.