1. 介绍

本文主要参考资料:去哪儿网:使用Alluxio(前Tachyon)实现300倍提升

2. 旧方案

2.1 旧方案架构

补充知识:

  1. kibana: Kibana是一个基于浏览器页面的Elasticsearch前端展示工具,整合logstash和es可以对日志做汇总分析
  2. Openresty:通过汇聚各种设计精良的?Nginx?模块(主要由 OpenResty 团队自主开发),从而将?Nginx?有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动?Nginx?支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。
  3. rsyglog:用于收集系统日志

2.2 旧方案存在问题

  1. HDFS的网络和磁盘I/O开销大,不满足流式计算要求的延迟
  2. checkpoint信息丢失:整个job运行结束后,checkpoint信息丢失,没法进行重算来及时恢复(这个在alluxio介绍这篇文章中也有提及)
  3. JVM的GC开销大

3. 新方案

3.1 新方案架构

注意:唯一变化的地方在于使用Alluxio代替原先的HDFS作为核心存储系统,而将原来的HDFS作为Alluxio的底层存储系统,用于备份。Alluxio同样运行在Mesos之上,各个计算框架和应用都通过Alluxio进行数据交换,由Alluxio提供高速的数据访问服务并维护数据的可靠性,仅将最终输出结果备份至远程HDFS存储集群中。

补充知识:

  1. Packetbeat:一个实时网络数据包分析工具
  2. Heka:日志收集工具
  3. Zepplin:即席查询的web壳,可以集成spark
  4. Caravel 是 Airbnb (知名在线房屋短租公司)开源的数据探查与可视化平台(曾用名Panoramix),该工具在可视化、易用性和交互性上非常有特色,用户可以轻松对数据进行可视化分析。

3.2 改进效果

  1. spark的处理性能改进

  1. kafka的消费性能改进