将异常发送回由水槽接收的客户端

时间:2015-03-27 12:48:28

标签: hadoop bigdata flume-ng

我打算使用Flume和HTTPSource将数据上传到HDFS。接收器将配置为将数据保存到Hive / Hbase表。如果有任何激活/错误写入数据到HDFS,它是否可以被抛回客户端? 如果HTTPSourceHandler无法解析数据或无法将数据发送到内存通道,则会抛出异常,但是接收器抛出的异常是否可以发送回客户端?

1 个答案:

答案 0 :(得分:0)

通常,源作为数据生成者工作,并作为数据使用者下沉。这意味着接收器不会将任何数据放入通道,并且源不会从通道获取任何数据。尽管如此,我认为你可以创建(从未测试,只是弄清楚如何做这样的事情)自定义源和接收器既可以作为源和接收器;在这种情况下,你可以有2个通道,每个方向一个,并执行某种反向通信。

在任何情况下,如果您希望发回关于工作流从源到接收器的所有可能错误的Http响应,我会说您忘记了这一点:一旦数据被放入通道中来源,不能保证这样的数据是由汇的中间过程;可能需要1秒或1分钟才能处理(通道,其表现为队列,可能有很多以前的数据)。我的意思是,你不想实现那种同步通信,因为到达Flume代理的新数据必须等待很多。