日志收集方案.ppt

日志收集方案精要

结论 总体评价:Flume最好 ZooKeeper ZooKeeper是一个开源分布式的服务,它提供了分布式协作,分布式同步,配置管理等功能。 为分布式应用系统服务 主要提供全局同步、配置管理维护和分组命名服务 ZooKeeper Zookeeper server角色 领导者(Leader) : 领导者不接受client的请求,负责进行投票的发起和决议,最终更新状态。 跟随者(Follower): Follower用于接收客户请求并返回客户结果。参与Leader发起的投票。 观察者(observer): Oberserver可以接收客户端连接,将写请求转发给leader节点。但是Observer不参加投票过程,只是同步leader的状态。Observer为系统扩展提供了一种方法。 学习者 ( Learner ) : 和leader进行状态同步的server统称Learner,上述Follower和Observer都是Learner。 Watch: client 通过设置watch来监听事件 ZooKeeper Paxos算法: prepare 阶段: proposer 选择一个提案编号 n 并将 prepare 请求发送给 acceptors 中的一个多数派; acceptor 收到 prepare 消息后,如果提案的编号大于它已经回复的所有 prepare 消息,则 acceptor 将自己上次的批准回复给 proposer,并承诺不再批准小于 n 的提案; 批准阶段: 当一个 proposor 收到了多数 acceptors 对 prepare 的回复后,就进入批准阶段。它要向回复 prepare 请求的 acceptors 发送 accept 请求。 在不违背自己向其他 proposer 的承诺的前提下,acceptor 收到 accept 请求后即批准这个请求。 Thank you! Log收集分析平台 需求 Log收集 分布式application log 即时log 数量多,平均每条log不会太大(以后可能有流式日志) Log分析 log合并(多条相同log去重) log析取(分析重要log信息) Log近实时查询 方案 Scribe Chukwa Flume 自选 Scribe facebook开源的日志收集系统 大量应用在facebook里 从各种日志源收集日志,存储到中央存储系统 可扩展,高容错的方案 C++编写 基于thrift Scribe 架构 Scribe 优点: 容错(只是collector和store之间) 支持hdfs 设计简单,易于使用 扩展性好 基于thrift,集成性好 缺点: agent和collector之间没有容错 无负载 基于thrift,依赖复杂,环境侵入性强 资料少 Chukwa hadoop系统产品 非常灵活,动态控制数据源 高性能,高可扩展性 分布式数据收集,快速处理 java编写 Chukwa 架构 Chukwa 优点: agent定期记录已发送数据来提供容错 和hadoop集成好,自带很多基于hadoop的组件 扩展性好 缺点: 无负载 版本太新 据我所知,无商业应用采用 Flume OG cloudera的开源日志系统 内置丰富组件,基本不用开发 高可靠性,高可扩展性,可管理性 java编写 Flume OG 架构 Flume OG 优点: 高可靠,agent,collector,store之间具有容错机制,提供3种策略 通过zookeeper提供负载 agent,collector非常丰富 支持hdfs 有商业应用使用 缺点: 商业支持不对开源社区开放 Flume NG Apache 旗下 开源日志系统 内置丰富组件,基本不用开发 高可靠性,高可扩展性,可管理性 java编写 Flume NG 架构 Flume NG 与OG不同: 高可靠,end-to-end模式 摒弃了Master,zookeeper,controller等 纯agent(source+channel+sink)模式 Flume NG # example.conf: A single-node Flume configuration # Name the components on this agent a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = netcat a1.sources.r1.bind = localhost a1.sources.r1.port = 44444 # Describe the sink a1.sinks.k1.t

文档评论(0)

1亿VIP精品文档

相关文档