摘要: 在《基于Flume的美团日志收集系统(一)架构和设计》中,我们详述了基于Flume的美团日志收集系统的架构设计,以及为什么做这样的设计。在本节中,我们将会讲述在实际部署和使用过程中遇到的问题,对Flume的功能改进和对系统做的优化。1 Flume的问题总结在Flume的使用过程中,遇到的主要问题如下... 阅读全文
posted @ 2015-05-25 15:10 TonyChai 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流。美团的日志收集系统基于Flume设计和搭建而成。《基于Flume的美团日志收集系统》将分两部分给读者呈现美团日志收集系统的架构设计和实战经验。第一部分架构和设计,将主要着眼于日志收集系... 阅读全文
posted @ 2015-05-25 15:09 TonyChai 阅读(1585) 评论(0) 推荐(0) 编辑
摘要: flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力 。 一、什么是Flume? flume 作为 cloudera 开发... 阅读全文
posted @ 2015-05-25 14:44 TonyChai 阅读(720) 评论(0) 推荐(0) 编辑
摘要: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些... 阅读全文
posted @ 2015-02-22 16:36 TonyChai 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 一、简介 如果在消息处理过程中出了一些异常,Storm 会重新安排这个出问题的 topology。Storm 保证一个 topology 永远运行(除非你显式杀掉这个 topology) 。 当然,如果 topology 中存储了中间状态,那么当 topology 重新被 Storm 启动的时候... 阅读全文
posted @ 2015-01-24 18:30 TonyChai 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 一、简介 Storm 可以保证 spout 发出的每条消息都能被“完全处理” ,这也是直接区别于其他实时系统的地方,如 S4。 请注意,spout 发出的消息后续可能会触发产生成千上万条消息 ,可以形象的理解为一棵消息树, 其中 spout 发出的消息为树根, Storm会跟踪这棵消息树的处理情... 阅读全文
posted @ 2015-01-24 18:13 TonyChai 阅读(1161) 评论(0) 推荐(0) 编辑
摘要: 在创建Storm的Topology时,我们通常使用如下代码:builder.setBolt("cpp", new CppBolt(), 3).setNumTasks(5).noneGrouping(pre_name);Config conf = new Config();conf.setNumWor... 阅读全文
posted @ 2015-01-24 17:34 TonyChai 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 消息格式消息由一个固定长度的头部和可变长度的字节数组组成。头部包含了一个版本号和CRC32校验码。[plain]view plaincopy/***具有N个字节的消息的格式如下**如果版本号是0**1.1个字节的"magic"标记**2.4个字节的CRC32校验码**3.N-5个字节的具体信息**如... 阅读全文
posted @ 2015-01-18 11:11 TonyChai 阅读(457) 评论(0) 推荐(0) 编辑
摘要: Kafka Producer APIs旧版的Procuder API有两种:kafka.producer.SyncProducer和kafka.producer.async.AsyncProducer.它们都实现了同一个接口:[java]view plaincopyclassProducer{/*将... 阅读全文
posted @ 2015-01-18 11:10 TonyChai 阅读(626) 评论(0) 推荐(0) 编辑
摘要: Kafka允许topic的分区拥有若干副本,这个数量是可以配置的,你可以为每个topci配置副本的数量。Kafka会自动在每个个副本上备份数据,所以当一个节点down掉时数据依然是可用的。Kafka的副本功能不是必须的,你可以配置只有一个副本,这样其实就相当于只有一份数据。创建副本的单位是topic... 阅读全文
posted @ 2015-01-18 11:09 TonyChai 阅读(3386) 评论(0) 推荐(0) 编辑