我的公司正在考虑将水槽用于一些相当大量的日志处理.我们认为需要分配日志处理,包括卷(可伸缩性)和故障转移(可靠性)原因,Flume似乎是明显的选择.
但是,我们认为我们必须忽略一些明显的东西,因为我们没有看到Flume如何提供自动可扩展性和故障转移.
我想定义一个流程,说明每个日志行,做事情A,然后传递它并做事情B,然后传递它做事情C,依此类推,这似乎与Flume很好地匹配.但是,我希望能够用纯粹的逻辑术语来定义这个流程,然后基本上说,"Hey Flume,这里是服务器,这里是流程定义,开始工作!".服务器将死亡(并且操作系统将重新启动它们),我们将向群集添加服务器,并退出其他服务器,并且水槽将仅将工作指向具有可用容量的任何节点.
这个描述是Hadoop map-reduce如何实现可伸缩性和故障转移,我假设Flume是相同的.但是,文档认为我需要手动配置每个逻辑节点运行的物理服务器,并为每个节点配置特定的故障转移方案.
我是对的,Flume不符合我们的目的,还是我错过了什么?
谢谢你的帮助.
根据您是否使用多个主服务器,您可以对配置进行编码以遵循故障转移模式.
这在指南中相当详细:http://archive.cloudera.com/cdh/3/flume/UserGuide/index.html#_automatic_failover_chains
为了回答你的问题,直截了当地说,Flume还没有能力自动找出故障转移方案.