大数据培训新三板挂牌机构 股票代码:837906 | EN CN
阿里巴巴菜鸟级数据产品经理半年回顾总结篇
干货教程:如何绘制业务流程图(二)
干货教程:如何绘制业务流程图(一)
技术贴:如何在数据库中秘密地查询隐私数据
攻略教程:信息图(infographic)是怎么做出来的?
分析师一定要看!用数据讲故事的五个步骤
技术篇:怎样玩转千万级别的数据?
北漂书生:大数据时代SEO数据如何搜集和分析
干货,从十大问题重新认识并读懂互联网
相似图片搜索、算法、识别的原理解析(下)
相似图片搜索、算法、识别的原理解析(上)
制作信息图时请遵循这10条原则
提高表格可读性的一些技巧,适用于Excel、PPT等数据报表
实用教程:如何让Excel图表更具“商务气质”?
一张数据信息图是这样制作完成的
菜鸟读财报,如何从上市公司财报中挖情报?
北大数据分析老鸟写给学弟们一封信
如何一步一步制作出高品质数据信息图?
总结:海量数据分析处理的十个方法
【实战经验】数据分析师如何了解老板真正想法?
零售业数据分析那些事儿
数据分析时l常用电子表格公式【大全】
用数据来告诉你 上市公司财报的秘密
这12个数据能 帮你搞定淘宝店铺
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(四)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(三)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(二)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(一)
淘宝网店从激活到挽留,4步走玩转数据营销
文案怎样写才有意思、不空洞、打动人?
入门级扫盲贴:数据分析的步骤有哪些?
关系即数据,论社交媒体的关系转换
数据的力量,苹果教你用数据鄙视竞争对手
谁说文科生不能做数据分析?数据分析入行→技能提升→优势
产品运营数据分析——SPSS数据分组案例
如何追踪iPhone和iPad等移动设备的用户行为数据?
阿里巴巴中国站:用户满意度指标权重计算方法
广告中的AdNetwork、AdExchange、DSP、SSP、RTB和DMP是什么?
信息图制作教程:关于数值的表现
为什么大数据会如此轰动?(值得深度的文章)
多图技术贴:深入浅出解析大数据平台架构
面板数据分析中标准误的估计修正——根据Peterson (2009)的归纳
财务官、投资人、CIO看过来:给企业数据定价
推荐系统中常用算法 以及优点缺点对比
探索Weotta搜索引擎背后的大数据技术
如何识别虚假数据?
为什么我们像驯化小狗那样驯化算法
程序员必须知道的10大基础实用算法及其讲解
电子商务:最影响转化率的九大要素
如何迅速成为一名数据分析师?
想从事大数据、海量数据处理相关的工作,如何自学打基础?
如何用亚马逊弹性MapReduce分析大数据?
译文:机器学习算法基础知识
给hadoop新手的一封信:Hadoop入门自学及对就业的帮助
从入门到精通,我是这样学习算法的
小商家,从老客户身上获取的数据才更有意义
13页PPT讲述:大数据下网站数据分析应用
40页PPT详解:京东大数据基础构架与创新应用
67页PPT解密搜索引擎背后的大技术:知识图谱,大数据语义链接的基石
营销洞察力——10个营销度量指标
技术篇:前端数据之美如何展示?
董飞:美国大数据工程师面试攻略【PPT】
easel:如何制作好的信息图——来自专家的顶级技巧
大数据实操:以3D打印机为例,如何知道卖点有没有市场需求?
大数据建模 需要了解的九大形式
用户画像数据建模方法
从规划开始,公司or企业如何入手和实施大数据?
干货:商品信息数据分析和展现系统的设计与开发
高手教你用Excel制作百度迁徙数据地图
50篇干货:淘宝店/电子商务如何玩转数据分析?
精华索引:大数据实际应用案例50篇
验证最小化可行产品 (MVP) 的 15 种方法
干货:数据分析师的完整知识结构
大数据技术Hadoop面试题,看看你能答对多少?答案在后面
用SPSS做数据分析?先弄懂SPSS的基础知识吧
怎样做出优秀的扁平化设计风格PPT? 扁平化PPT设计手册#3
解答│做大数据过程中遇到的13个问题
40页PPT│社交网络发展的新动力:大数据与众包
以Amazon、豆瓣网为例,探索推荐引擎内部的秘密#1
怎样做出优秀的扁平化设计风格PPT?#2
怎样做出优秀的扁平化设计风格PPT?#1
36页PPT│大数据分析关键技术在腾讯的应用服务创新
如何丰满地做SWOT分析?
【35页PPT】TalkingData研发副总阎志涛:移动互联网大数据处理系统架构
27页PPT|以珍爱网为例,如何构建有业务价值的数据分析系统?
国外数据新闻资源分享
21页PPT重磅发布:Mariana——腾讯深度学习平台的进展与应用
从0到100——知乎架构变迁史
PPT解读:百度大数据质量保障方案探索
45页PPT|大数据环境下实现一个O2O通用推荐引擎的实践
从数据看豆瓣兴衰
深度学习系列:解密最接近人脑的智能学习机器——深度学习及并行化实现(四)
重磅推荐:129页PPT讲述移动时代创业黄金法则 via:腾讯企鹅智酷
重磅推荐:大数据工程师飞林沙的年终总结&算法数据的思考
OpenKN——网络大数据时代的知识计算引擎
大数据下城市计算的典型应用
技术贴:大数据告诉你,如何给微信公众号文章取标题?
你的QQ暴露了你的心——QQ大数据及其应用介绍PPT
如何从企业报表看企业的生存能力?
实用的大数据技巧合集
技术帝揭秘:充电宝是如何盗取你的个人隐私的?
重磅!50页PPT揭秘腾讯大数据平台与推荐应用架构
原创教程:饼图之复合饼图与双层饼图(1)
PPT:大数据时代的设计特点——不了解这个你做不了今天的设计
教程贴:如何用方程式写春联?
原创教程:如何用Excel制作简易动态对比图
深度译文:机器学习那些事
教程帖:数学之美——手把手教你用Excel画心(动态图)
董老师走进斯坦福,聊聊硅谷创业公司和大数据的事儿(附课件PPT下载)
【限时】年度钜献,108个大数据文档PDF开放下载
董飞专栏:大数据入门——大数据相关技术、Hadoop生态、LinkedIn内部实战
亿级用户下的新浪微博平台架构
一张图了解磁盘里的数据结构
浅析数据化设计思维在阿里系产品的应用
美团推荐算法实践
一个P2P创业公司有哪些部门,都是做什么的?
一个P2P平台的详细运营框架是怎样的?
机器学习中的算法——决策树模型组合之随机森林与GBDT
神经网络简史
58页PPT看懂互联网趋势,大数据/物联网/云计算/4G都有了
广点通背后的大数据技术秘密——大规模主题模型建模及其在腾讯业务中的应用(附PPT)
微信红包之CBA实践PPT——移动互联网海量访问系统设计
一文读懂机器学习,大数据/自然语言处理/算法全有了……
搜狐新闻客户端的背后大数据技术原理——推荐系统(PPT)
原创教程:用Excel做动态双层饼图
半小时读懂PMP私有广告交易市场
怎样分析样本调研数据(译)
PPT:支付宝背后的大数据技术——DataLab、Higo的实践及应用
大数据技术人员的工具包——开源大数据处理工具list(限时下载)
计算机视觉:随机森林算法在人体识别中的应用
24页PPT:机器学习——支持向量机SVM简介(附下载)
互联网高手教你如何搜集你想要的信息
深度:对地观测大数据处理、挑战与思考
原创教程:用Excel做饼图之复合饼图与双层饼图(2)
移动大数据时代: 无线网络的挑战与机遇(附pdf下载)
Excel使用技巧——25招必学秘技
【年度热门】加上这些 Excel 技能点,秒杀众人(多图)
原创教程:用Excel做纵向折线图
知识图谱——机器大脑中的知识库
何明科专栏:用数据化的方式解析投资条款
DT时代,如何用大数据分析创造商业价值(23页PPT)
MIT牛人梳理脉络详解宏伟现代数据体系
你的老婆是怎么算出来的?揭秘佳缘用户推荐系统
飞林沙:商品推荐算法&推荐解释
PPT:如何成为真正的数据架构师?(附下载)
开源大数据查询分析引擎现状
董飞专栏:打造数据产品必知秘籍
译文:如何做强大又漂亮的信息图
如何使用Amazon Machine Learning构建机器学习预测模型
如何运用数据协助货架管理(内附26张PPT)
SVM算法
主流大数据系统在后台的层次角色及数据流向
PPT:阿里全息大数据构建与应用
人脸识别技术大总结——Face Detection & Alignment
教程:用Excel制作成对条形图
易观智库:大数据下的用户分析及用户画像(18页PPT附下载)
技术向:如何设计企业级大数据分析平台?
电商数据分析基础指标体系
IBM SPSS Modeler 决策树之银行行销预测应用分析
拓扑数据分析与机器学习的相互促进
基于 R 语言和 SPSS 的决策树算法介绍及应用
用php做爬虫 百万级别知乎用户数据爬取与分析
另类新浪微博基本数据采集方法
以10万+阅读的文章为例 教你做微信公众号的运营数据分析
破解数据三大难题:变现?交易?隐私?
微店的大数据平台建设实践与探讨
阿里巴巴PPT:大数据基础建议及产品应用之道
基于社会媒体的预测技术
人工智能简史
技巧:演讲中怎样用数据说话
马云和小贝选谁做老公?写给非数据人的数据世界入门指南
掘金大数据产业链:上游资源+中游技术+下游应用
原创教程:手把手教你用Excel做多层折线图
销售分析:如何从数据指标发现背后的故事
如何一步步从数据产品菜鸟走到骨干数据产品
也来谈谈微博的用户画像
行走在网格之间:微博用户关系模型
如何拍出和明星一样美爆的自拍照?斯坦福大学用卷积神经网络建模告诉你
运营商如何玩转大数据? 浙江移动云计算和大数据实践(PPT附下载)
大数据分析的集中化之路 建设银行大数据应用实践PPT
腾讯防刷负责人:基于用户画像大数据的电商防刷架构
创业提案的逻辑
友盟分享 | 移动大数据平台架构思想以及实践经验
寻路推荐 豆瓣推荐系统实践之路
“小数据”的统计学
重磅!8大策略让你对抗机器学习数据集里的不均衡数据
小团队撬动大数据——当当推荐团队的机器学习实践
微博推荐架构的演进
科普文 手把手教你微信公众号数据分析
信息图制作的六个注意点
【权利的游戏】剧透新玩法:情理之中?意料之外
推荐系统(Recommender System)的技术基础
核心算法 谷歌如何从网络的大海里捞到针
Quora数据科学家和机器学习工程师是如何合作的
阿里巴巴PPT:大数据下的数据安全
数据建模那点事儿
全民拥抱Docker云–Lhotse系统经验分享
实时股票分析系统的架构与算法
架构师必看 京东咚咚架构演进
什么叫对数据敏感?怎样做数据分析?
推荐系统基础知识储备
刘德寰:数据科学的整合与细分 数据科学的七个危险趋势(视频)
实际工作中,如何做简单的数据分析?
分布式前置机器学习在威胁情报中的应用(附PPT下载)
数据科学 怎样进行大数据的入门级学习?
扛住100亿次请求 如何做一个“有把握”的春晚红包系统?(PPT下载)
从 LinkedIn 的数据处理机制学习数据架构
大数据会如何改变管理咨询公司(I)
优秀大数据GitHub项目一览
生硬的数字和数据新闻:这么近,那么远
经典大数据架构案例:酷狗音乐的大数据平台重构(长文)
揭秘中兴大数据在银行领域的系统部署
基于大数据的用户画像构建(理论篇)
【R】支持向量机模型实现
数据图处处有陷阱?五个例子教你辨真伪
如何用R绘制地图
你确定你真的懂用户画像?
数据模型需要多少训练数据?
【接地气】01 数据报表的颜色怎么配
游戏价值和数据分析新思路
【R】异常值检测
快的打车架构实践
豆瓣还是朋友圈:大数据、新方法和日常问
PPT数据图表,怎么做才好看?
大道至简的数据体系构建方法论
数据的误区及自身业务
新浪微博的用户画像是怎样构建的?
面试干货!21个必知数据科学面试题和答案part1(1-11)
易观智库:中国大数据产业生态图谱2016(附下载)
Airbnb的数据基础架构
50PB海量数据排序,谷歌是这么做的
大数据时代工程师如何应对–今日头条走进硅谷技术讲座
D3.js教学记(下)
D3.js教学记(上)
飞林沙:企业级服务公司如何赚钱?只有平台级产品才有大数据的理论
一个母婴电子商务网站的大数据平台及机器学习实践
7大板块 组成数据分析师的完整知识结构
干货:SaaS领域如何分析收入增长?
学术 | 词嵌入的类比特性有实用意义吗?
6个用好大数据的秘诀
一个数据库外行眼中的微信优化 (附专家补充)
大数据调研,如何实现快全准?
数据大师Olivier Grisel给志向高远的数据科学家的指引
数据堂肖永红:数据交易的是使用权或数据的增值,而不是数据本身(PPT附下载)
淘宝商品详情平台化思考与实践
刘译璟:百分点大数据理念和实践(图文+PPT下载)
如何快速搞定一份看起来还不错的演示文档?
【BABY夜谈大数据】决策树
数据驱动设计:数据处理流程、分析方法和实战案例
美图数据总监:Facebook的法宝,我们在产品中怎么用?
树的内核:量化树结构化数据之间的相似性
拿到用户数据之后,LinkedIn怎么赚钱?
GrowingIO张溪梦:增长黑客的核心 企业应该重视产品留存率(附PPT下载)
[译]Airbnb是如何使用数据理解用户旅行体验的?
微博推荐数据服务代理: hyper_proxy的设计和实现
星图数据谷熠:消费领域DaaS 大数据重构未来商业游戏规则(附PPT下载)
鲍忠铁:TalkingData大数据技术与应用实践(PPT下载)
【干货教材】数据分析VS业务分析需求
九枝兰专访:数字营销的核心—企业如何使用数据管理平台(DMP)进行精准营销
我们的应用系统是如何支撑千万级别用户的
R应用空间数据科学
Excel进行高级数据分析(上)
Excel进行高级数据分析(下)
国内各大互联网公司2.0版技术站点收集
网站数据分析思路导图
大数据分析报表设计开发要素
大数据需要的12个工具 推荐
YARN/MRv2 Resource Manager深入剖析—NM管理
YARN/MRv2 Resource Manager深入剖析—RMApp状态机分析
Hadoop 1.0与Hadoop 2.0资源管理方案对比
Hadoop 2.0中单点故障解决方案总结
Hadoop 2.0 (YARN)中的安全机制概述
Hadoop 新特性、改进、优化和Bug分析系列1:YARN-378
Hadoop 新特性、改进、优化和Bug分析系列2:YARN-45
Hadoop 新特性、改进、优化和Bug分析系列3:YARN-392
Hadoop版本选择探讨
探究提高Hadoop稳定性与性能的方法
《Effective C++》读书笔记(第一部分)
Hadoop分布式环境下的数据抽样
Hadoop计算能力调度器算法解析
如何编写Hadoop调度器
数据结构之红黑树
Hadoop pipes设计原理
《C++ Primer plus》学习笔记之”类”
《C++ Primer plus》学习笔记之”类继承”
《C++ Primer plus》学习笔记之”C++中的代码重用”
《C++ Primer plus》学习笔记之”异常”
《C++ Primer plus》学习笔记之”RTTI”
Hadoop pipes编程
Hadoop Streaming高级编程
《C++ Primer plus》学习笔记之”标准模板库”
《C++ Primer plus》学习笔记之”输入输出库”
Linux Shell 命令总结
算法之图搜索算法(一)
awk使用总结
素数判定算法
《C++ Primer plus》学习笔记之“函数探幽”
使用Thrift RPC编写程序
如何在Hadoop上编写MapReduce程序
怎样从10亿查询词找出出现频率最高的10个

Airbnb的数据基础架构

于2017-04-01由小牛君创建

分享到:


今天还是回归技术话题吧。云计算尤其亚马逊的云服务(AWS)提供弹性计算能力,无需购买昂贵服务器甚至机房,通过虚拟化主机,还提供丰富配套组件,节约运维成本,方便扩展,成为很多创业公司的首选。这里就是Airbnb以AWS作为基础搭建数据架构中走过的坑和经验分享,由于笔者也刚好做过,同是天涯沦落人,难度2星,供做数据的朋友学习。

本文作者为:董飞老师,本文由 董飞老师翻译并投稿至大数据培训,就上小牛学堂,转载必须获得原文作者、译者和本站的同意。拒绝任何不标明作者和出处的转载。推荐大家关注董老师的微信公众号:董老师在硅谷(微信号:dongfeilaoshi-123  进入董飞先生 在大数据培训,就上小牛学堂的专栏>>>

Airbnb

第1部分:数据基础设施的背后哲学

在Airbnb我们提倡数据文化并使用数据作为关键输入去决策。跟踪指标,通过实验验证假设,建立机器学习模型和深入挖掘商业洞察是我们快速聪明前进的关键。

经过多年的进化,我们觉得数据基础设施服务稳定,可靠,可扩展,因此是一个很好的机会来分享我们的经验给社区。在接下来的几周内,我们将发布一系列突出我们的分布式架构和工具组件的博客文章。由于开源贡献者提供了许多我们每天使用的基础系统,使我们不仅乐意分享在公共GitHub的项目,而且还会聊我们一路上学到的东西。

了解我们数据基础设施的一些非正式理念:

放眼开源世界:在开源社区中数据基础设施有很多好的资源,我们尽量采用这些系统。此外,如果我们建立一些对自己有用又对社有回报的东西。

首选标准组件和方法:有些时候是发明一种全新的一块基础设施是合理的,但很多时候,这没有很好的利用资源。建立一个独特解决方案是靠直觉还是采用现有的是非常重要的,而靠直觉必须正确考虑维护支持的隐性成本。

确保它能够扩展:我们发现数据与业务不是线性增长,但随着技术员工建立新的产品和在业务采取新方式后,将超线性增长。

通过倾听你的同事解决实际问题:与公司的数据用户沟通是了解路线图的重要组成部分。与亨利·福特的口号一致,我们必须在找更快的马与造汽车上保持平衡 – 但首先要听你的客户。

留有一定的余量:我们超额认购资源如集群,促进探索的文化。对基础设施团队实现资源利用最大化还高兴的太早,但我们的假设是,在存储中发现了一个新的商业机会将抵消了这些额外的机器费用。

第2部分:基础设施概况

这里是我们的基础设施的主要部件的简图。

Airbnb

源数据进入我们的系统有两个主要渠道:源代码发送Kafka事件和线上数据库将AWS RDS中的存储导出,再通过Sqoop传递。

这里数据源包含用户的活动事件数据和快照源数据,发送到“金”集群存储,并开始运行我们的提取,转换和加载(ETL)。在此步骤中,我们针对业务逻辑,汇总表格,并执行数据质量检查。

在上面的图中,有“金”和“银”两个独立集群,我们将在后面详细描述。分离原因是保证计算和存储资源的隔离,如果一个挂了可以做灾难恢复。这种架构提供了一个理想环境,最重要的工作严格保障SLA(服务保证协议),避免资源密集型即席查询的影响。我们把‘银’集群作为一个生产环境,但是放宽保证,可以承受资源密集型查询。

通过两个集群我们获得隔离力量,在管理大量的数据复制并维持动态系统之间有同步的成本。“金”是我们的真正来源,我们将复制“金”数据的每一位到“银”。“银”集群上生成的数据不会被复制回“金”,所以你可以认为这是“银”作为一个超集集群,是单向复制方案。因为我们的很多分析和报告从“银”簇发,当“金”有新数据产生,我们尽快复制它到“银”,去保证其他工作刻不容缓运行。更关键的是,如果我们更新预先存在的“金”集群上的数据,我们必须小心的更新并同步传播给“银”。这种复制优化问题并没有一个开源的很好解决方案,所以我们建立了一套新的工具,我们会以后更详细地介绍。

我们改进HDFS已经取得了很大效果,并更准确地用Hive管理表,作为我们中心源的数据。仓库的质量和完整性取决于数据不变的,继承数据可通过重新推导计算的 – 使用分区Hive表对这个目标非常重要。此外,我们不鼓励数据系统的扩散,不希望维护单独的基础设施,比如我们的源数据和我们终端用户报告。根据我们的经验,这些中间系统混淆真理的来源,增加ETL的管理负担,难以跟踪从原始数据一路上来自的迭代指标。我们不跑Oracle,Teradata,Vertica,Redshift等,而是使用Presto对所有Hive管理的表做即席查询。我们都希望在不久的将来,联通Presto和Tableau。

其他的一些在图中要注意的东西,包括Airpal,使用Presto支持基于Web查询执行的工具,我们搭建并开源了。这是在数据仓库即席SQL查询,1/3以上的所有员工都使用该工具运行查询主界面。作业调度功能就是通Airflow,一个以编程方式编写,调度和监控的平台,可以运行在Hive,Presto,Spark,MySQL的数据管道等。我们在逻辑上跨集群共享Airflow,但物理作业运行在合适的集群机器上。Spark集群是工程师和数据科学家机器学习工作偏爱的另一处理工具,对流处理非常有用。你可以在Aerosolve查看我们在机器学习上的努力。 S3是一个独立的存储系统,我们可以从HDFS数据得到便宜的长期存储。Hive管理的表可以对自己存储改变,并指向S3的文件,容易访问和管理元数据。

第3部分:Hadoop集群的详细演化

今年我们从架构不佳组群进行迁移,被称为“Pinky与Brain”,放到上述的“金银”系统中去。两年前,我们从Amazon EMR移到一组运行在HDFS 300 TB数据的EC2实例。今天,我们有两个独立的HDFS集群,数据11 PB,我们S3存储PB级别。有了这样的背景,我们来解决问题:

1)在Mesos架构上运行一个独特的Hadoop

早期的Airbnb工程师们在一个叫做Mesos上,其中规定了部署跨多个服务器的配置。我们使用AWS上c3.8xlarge的单一集群。每个bucket是3T的EBS,并跑了所有的Hadoop,Hive,Presto,Chronos的,和Mesos上的Marathon。

需要明确的是,许多公司都使用Mesos实施新颖的解决方案来管理大型重要基础设施。但是,我们的小团队决定运行更加规范,无处不在的部署,减少我们花在运营和调试的时间。

Mesos上Hadoop问题:

  • 很少能见到工作运行和日志文件
  • 很少能见到集群健康状态
  • Hadoop在Mesos只能运行MR1
  • Task Tracker竞争的性能问题
  • 集群的低利用率
  • 高负荷,难调试系统
  • 缺乏整合Kerberos安全

解决方法:答案是简单地转移到一个“标准”栈。我们很乐意从数百或数千公司学习操作大型集群,而不是试图去创造一种新的解决方案。

2)远程读取和写入

之前通过存储在EBS(弹性块存储)上访问我们所有HDFS数据,我们发送到公共Amazon EC2运行查询网络数据。

Hadoop是为特定硬件搭建,预先在本地磁盘读写,所以这是一个设计不匹配。

关于远程读写,我们曾错误地选择了AWS在三个不同的可用性区域分割我们的数据存储,而它们在一个区域内。每个可用区被定为自己的“机架”,3个副本分别存放在不同的机架,因此远程读写操作都不断发生。这又是一个设计缺陷,导致缓慢的数据传输,当一台机器丢失或损坏块时候,远程拷贝就随时发生。

解决方法:使用本地存储专门实例,并在一个可用性区域中运行,而不是让EBS修正这些问题。

3)同构机器上工作负载的异构

纵观我们的工作量,我们发现,我们的构件有不同的要求。我们的Hive/ Hadoop/ HDFS机器需大量的储存空间,但并不需要多少内存或CPU。Presto和Spark渴望内存和高处理能力,但并不需要多大的存储。通过3TB EBS支持运行c3.8xlarge被证明是存储非常昂贵,也是限制因素。

解决方法:一旦我们迁移出Mesos架构,我们能选择不同类型的机器运行各种集群,例如使用r3.8xlarge实例运行Spark。亚马逊发布新生代“D系列”的实例,我们正在评估,这从成本角度所作的过渡更可取的。从c3.8xlarge机器每个节点的远程存储3TB转变到d2.8xlarge机器上本地存储48TB是非常有吸引力,会为我们在未来三年节省了数百万美元。

4)HDFS Federation

我们一直在运行Federation HDFS集群,数据共享物理块池,但每个逻辑集群分离mapper和reducer集合。这让我们可以通过query查询访问任何一块数据,提高终端用户体验,但我们发现,Federation并没有得到广泛的支持,被某些专家认为是实验性和不可靠的。

解决方法:移到一个完全不同的HDFS节点,而不是运行Federation,做到在机器水平的真正隔离,这也提供了更好的灾难恢复机制。

5)系统监控是累赘

一个独特的基础设施体系最严重的问题是创建自定义监视和报警集群。 Hadoop,Hive,HDFS是复杂的系统,容易发生众多故障。试图预测所有故障状态,并设置合理的门槛是相当有挑战性。

解决方法:我们签了Cloudera的支持合同,用他们的专业知识来获得在架构和操作这些大型系统,以及最重要的通过使用Cloudera的管理器工具,减少我们的维护负担。接入到我们内部系统,大大减少了我们的监控和报警负担,这样我们花很少的时间进行系统维护和警报。

结论

在我们旧的集群上评估错误和低效率,开始着手系统地解决这些问题。去迁移PB数据和数百个用户作业是一个漫长的过程,因为还不破坏我们现有服务;我们将单独把一些工具贡献给开源社区。

现在,迁移完成后,我们已经大大减少了平台事故和故障的数量。不难想象我们在不成熟的平台上处理的bug和问题,但系统现在基本上是稳定的。另一个好处是,当我们雇佣新工程师加入我们的团队,上手很快因为系统也被其他公司采用。

最后,因为我们有机会在“金银”系统去设置新鲜的架构,搭建所有新实例,用合理的方式添加IAM角色来管理安全性。这意味着在集群之上提供更为精密的访问控制层,集成管理我们所有的机器。

我们能够明显削减成本,并同时提高性能。这里有一些数据:

  • 磁盘读/写从70-150MB /秒提高到400 + MB /秒
  • Hive的CPU效率提高〜2倍
  • 网卡可以完全跑满的我们的机器
  • 读吞吐量〜3倍提升
  • 写吞吐量〜2倍提升
  • 成本减少70%

原文:https://medium.com/airbnb-engineering/data-infrastructure-at-airbnb-8adfb34f169c#.d1d0l7bee

End.