新的Flume。假设我有一个代理,它有一个avero源、一个hdfs接收器和一个文件通道。假设在某个时刻,接收器无法写入hdfs。在通道填满之前,源是否会继续接受事件?或者即使文件通道未满,源是否也会停止接受事件?
dbf7pr2w1#
我已经做了大量的测试。在这种情况下你会很难受的。当接收器失败时,flume将开始抛出异常。根据流的速度,通道也会被填满,从而导致更多的异常。控制故障的最佳方法是使用故障转移接收器处理器并配置接收器组。这样,如果一个接收器出现故障,您将设置一个备份接收器,并且数据丢失非常少。根据我的经验,我已经设置了一个avro接收器,该接收器连接到拓扑中的第二个flume代理跃点,如果该flume代理发生故障,那么我的故障转移接收器是两个不同的hadoop集群,我通过hdfs接收器将flume事件写入其中一个hadoop集群。然后您必须回填这些事件。我发现netcat源代码对此非常有效。
1条答案
按热度按时间dbf7pr2w1#
我已经做了大量的测试。在这种情况下你会很难受的。当接收器失败时,flume将开始抛出异常。根据流的速度,通道也会被填满,从而导致更多的异常。控制故障的最佳方法是使用故障转移接收器处理器并配置接收器组。这样,如果一个接收器出现故障,您将设置一个备份接收器,并且数据丢失非常少。根据我的经验,我已经设置了一个avro接收器,该接收器连接到拓扑中的第二个flume代理跃点,如果该flume代理发生故障,那么我的故障转移接收器是两个不同的hadoop集群,我通过hdfs接收器将flume事件写入其中一个hadoop集群。然后您必须回填这些事件。我发现netcat源代码对此非常有效。