我正在使用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
答案 0 :(得分:5)
我们使用camus。
Camus是LinkedIn开发的一个简单的MapReduce工作,用于加载数据 从Kafka到HDFS。它能够从中逐步复制数据 Kafka进入HDFS,以便MapReduce工作的每次运行都能完成 前一次运行停止的地方。在LinkedIn,Camus习惯于加载 每天从卡夫卡到HDFS的数十亿条消息。
但看起来它已被gobblin
取代Gobblin是一种用于提取的通用数据提取框架, 转换,并从各种数据中加载大量数据 来源,例如数据库,其他API,FTP / SFTP服务器,文件管理器等, 到Hadoop。 Gobblin处理所有人需要的常见日常任务 数据提取ETL,包括作业/任务调度,任务分区, 错误处理,状态管理,数据质量检查,数据 gobblin从中获取来自不同数据源的数据 相同的执行框架,并管理不同的元数据 所有来源都在一个地方。这,结合其他功能,如 自动扩展,容错,数据质量保证, 可扩展性和处理数据模型演化的能力 Gobblin是一种易于使用,自我服务且高效的数据提取 框架。
答案 1 :(得分:1)
您还有其他几个选项:
我们非常成功地测试过。