- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
日志收集案
结论 总体评价: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收集分析平台 张波 bo.zhang86@ created: 2011-05-24 modified: 2012-05-03 需求 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.so
文档评论(0)