Storm入门教程 第三章 Storm安装部署步骤

本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以“注意事项”的形式给出。 (更多…)

基于storm引擎的虫洞系统

虫洞系统是吸星大法项目衍生出来实时计算的基础平台。

它以storm实时流处理引擎为基础,提供了计算力、数据源整合、数据交换、监控几大功能模块。任务的权限控制正在筹划中。

这几个功能模块是此实时计算平台提供稳定运行的基础,虫洞系统承载的业务包括:月光宝盒、一淘首页个性化(实时用户个性化指标的计算)、吸星大法实时日志接入(数据源整合)。
  • 计算能力
    基于storm的流式处理任务可以直接运行在虫洞系统上,避免了搭建、维护集群的成本,极大的节约了业务的成本、提高了开发的效率和系统的稳定性
  • 数据源整合
    目前虫洞系统整合了多个实时数据源,这些数据源组合起来,可以实现完整的业务分析。 吸星大法实时数据接入将数据源接入、归一化,为使用方提供格式一致的数据,简化了日志使用的成本和难度。目前接入的主要数据源有:
            – 全网Aplus日志
            – 订单
            – 支付宝交易
            – 站外B2C
            – 实时购物车、收藏夹等
  •   数据交换
    基础日志经过归一化之后,根据业务场景需求,可以有两种方式来使用:
                     1) Hbase, 如果需要回溯历史数据,可以使用Hbase接口来访问
                     2)虫洞(动态端口), 高效、便捷的数据交换形式,支持日志的横向和纵向任意裁剪,支持客户端的动态负载均衡;高容错性等很多特性
             上述两种方式都提供了客户端sdk供使用
  • 监控系统
    监控系统是虫洞系统稳定运行的基础。它有两个主要功能: 1) storm task级状态的汇总 2)异常状态的报警,目前支持短信、旺旺报警
storm task级监控室为storm量身定做的监控系统,使得集群中不同机器间的状态统一监控,监控指标丰富、并且可自定义,是任务开发、调试、运维的利器。

实时计算引擎处理延迟的排查过程

实时计算引擎在处理实时数据时,要保证新到来的数据被及时得到处理。例如,对于网站的访问日志数据,假设每一分钟有一个日志文件,那么实时计算引擎必须满足能够在一分钟之内处理完这一分钟的日志数据文件,否则会导致日志文件堆积而不能被及时处理。前几天,量子后端团队排查了一次实时计算引擎出现的处理延迟故障,其中使用到了ltrace和strace工具,在这里和大家分享一下。 (更多…)

Mondrian中聚合表的应用

最近在项目中使用了开源OLAP引擎——Mondrian实现一个多维分析系统,在项目后期系统优化阶段使用了Mondrian中的聚合表机制。这里结合 Mondrian官方资料和个人使用经验,对Mondrian中聚合表的概念、应用场景、如何使用、注意事项等内容做一个总结。 (更多…)

Zfor项目的Rebar改造

本文档用于描述如何使用rebar erlang构建工具,将github上的zfor项目(https://github.com/chaoslawful/zfor)进行改造。
关于改造过程,我们约定:首先建立一个公共的工作目录(本文档中假定为work目录),作为zfor项目改造的主目录,改造过程中的所有操作均在此目录下完成。 (更多…)

Rebar:Erlang构建工具

Rebar是一款Erlang的构建工具,使用它可以方便的编译、测试erlang程序、内联驱动和打包Erlang发行版本。

Rebar是一个独立的erlang脚本,所以使用Rebar发布程序非常简单,甚至可以直接集成在项目文件夹中。默认的情况下,Rebar会按照Erlang/OTP来组织项目的结构,这样一来,构建时的配置工作量就会大大减少。Rebar同时提供了依赖库(包)管理机制,方便程序员重用已存在的模块。Rebar的以来管理机制支持的方式非常多,甚至包括Git, Hg等少见的方式。 (更多…)