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