LinkedIn Camus踩坑记录
首先,介绍下Camus吧。
由LinkedIn公司开发的消息队列同步框架,提供将Kafka(一种消息队列框架)的数据装载到Hadoop分布式文件系统(HDFS)的功能。
英文版原文出处:英文版出处
简单来说camus其实底层还是执行的mapreduce,一个将kafka数据拉取hdfs的工具。这个工具相对来说比较小众,但是好处就是使用简单,学习成本低,相对来说跑的是mapreduce还是比较稳定安全的,美团等大厂也有在使用该工具,并对其进行二次开发使用。
同时介绍几个与Camus类似的组件,可参考类似组件这篇文章。
基础使用篇的话我后面补上,先说下我的踩坑记录吧,毕竟排查加解决花费了整整一天的时间,还是值得记录下来的.
背景介绍:当时由于某些原因,需要处理历史数据并入到hive表,历史数据时间跨度三年,数据量3T左右,我这边处理的流程是filebeat->kafka->sparkstreaming->kafka这样一个流程,最后通过camus去拉取kafka对应topic的数据到hdfs(hdfs文件以天为单位进行分区以方便load到hive表中)。从kafka拉取下来的文件到hdfs大致是这样的:
遇到的异常报错是:找不到block位置的异常。

本文记录了使用LinkedIn Camus进行Kafka到HDFS数据迁移时遇到的问题及解决过程。在处理3T历史数据时,由于日期跨度大,导致Camus出现找不到block位置的异常。经过排查,发现不按日期分区可以避免该问题,推测可能为Camus在处理大量历史数据时的分布式协调bug。
1万+

被折叠的 条评论
为什么被折叠?



