首页 文章

如何将 Kafka 主题加载到 HDFS?

提问于
浏览
6

我正在使用 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 回答

  • 5

    我们使用加缪

    Camus 是 LinkedIn 开发的一个简单的 MapReduce 工作,用于将数据从 Kafka 加载到 HDFS 中。它能够将数据从 Kafka 逐步复制到 HDFS 中,这样 MapReduce 作业的每次运行都会在前一次运行停止的地方进行。在 LinkedIn,Camus 习惯于每天从 Kafka 向 HDFS 加载数十亿条消息。

    但它似乎被gobblin取代

    Gobblin 是一个通用数据提取框架,用于从各种数据源 e.g. ,数据库,其他 API,FTP/SFTP 服务器,文件管理器等中提取,转换和加载大量数据到 Hadoop 上。 Gobblin 处理所有数据提取 ETL 所需的常见例程任务,包括 job/task 调度,任务分区,错误处理,状态管理,数据质量检查,数据发布等.Gobblin 在同一执行框架中从不同数据源提取数据,并管理所有不同来源的元数据都在一个地方。这与其他功能相结合,如自动可扩展性,容错性,数据质量保证,可扩展性以及处理数据模型演变的能力,使 Gobblin 成为一个 easy-to-use,self-serving 和高效的数据提取框架。

  • 2

    您还有其他几个选项:

    • 使用 Apache Flume 从 Kafka 读取消息并将其写入 HDFS。有几个例子说明如何设置它,但是一个来自 Cloudera 的文章很好地涵盖了这个主题。他们甚至将解决方案命名为 Flafka;)

    • 使用Kafka HDFS 连接器,这很容易设置。但是,它需要 Confluent Kafka(仍然是开源的)。

    我们测试得非常成功。

相关问题