说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Hadoop YARN的发展史与详细解析

HTML文档下载 WORD文档下载 PDF文档下载
Apache Hadoop于2005年推出,提供了核心的MapReduce处理引擎来支持大规模数据工作负载的分布式处理。7年后的今天,Hadoop正在经历着一次彻底检查,不仅支持MapReduce,还支持其他分布式处理模型。

【编者按】成熟、通用让Hadoop深得大数据玩家喜爱,即使是在YARN出现之前,在流处理框架林立下,Hadoop仍然被众多机构广泛运用在离线处理之上。借鉴于Mesos,MapReduce获得新生,YARN提供了更加优秀的资源管理器,让Storm等流处理框架同样可以运行在Hadoop集群之上;但是别忘记,Hadoop有着远比Mesos成熟的社区。从兴起到唱衰再到兴起,这头搬运大数据的大象已更加成熟、稳重,同时我们也相信,在未来container等属性加入后,Hadoop生态系统必将发扬光大。

以下为文章内容

带有 MapReduce 的 Apache Hadoop 是分布式数据处理的骨干力量。借助其独特的横向扩展物理集群架构和由 Google 最初开发的精细处理框架,Hadoop 在大数据处理的全新领域迎来了爆炸式增长。Hadoop 还开发了一个丰富多样的应用程序生态系统,包括 Apache Pig(一种强大的脚本语言)和 Apache Hive(一个具有类似 SQL 界面的数据仓库解决方案)。

不幸的是,这个生态系统构建于一种编程模式之上,无法解决大数据中的所有问题。MapReduce 提供了一种特定的编程模型,尽管已通过 Pig 和 Hive 等工具得到了简化,但它不是大数据的灵丹妙药。我们首先介绍一下 MapReduce 2.0 (MRv2) — 或 Yet Another Resource Negotiator (YARN) — 并快速回顾一下 YARN 之前的 Hadoop 架构。

Hadoop 和 MRv1 简单介绍

Hadoop 集群可从单一节点(其中所有 Hadoop 实体都在同一个节点上运行)扩展到数千个节点(其中的功能分散在各个节点之间,以增加并行处理活动)。图 1 演示了一个 Hadoop 集群的高级组件。


图 1. Hadoop 集群架构的简单演示

一个 Hadoop 集群可分解为两个抽象实体:MapReduce 引擎和分布式文件系统。MapReduce 引擎能够在整个集群上执行 Map 和 Reduce 任务并报告结果,其中分布式文件系统提供了一种存储模式,可跨节点复制数据以进行处理。Hadoop 分布式文件系统 (HDFS) 通过定义来支持大型文件(其中每个文件通常为 64 MB 的倍数)。

当一个客户端向一个 Hadoop 集群发出一个请求时,此请求由 JobTracker 管理。JobTracker 与 NameNode 联合将工作分发到离它所处理的数据尽可能近的位置。NameNode 是文件系统的主系统,提供元数据服务来执行数据分发和复制。JobTracker 将 Map 和 Reduce 任务安排到一个或多个 TaskTracker 上的可用插槽中。TaskTracker 与 DataNode(分布式文件系统)一起对来自 DataNode 的数据执行 Map 和 Reduce 任务。当 Map 和 Reduce 任务完成时,TaskTracker 会告知 JobTracker,后者确定所有任务何时完成并最终告知客户作业已完成。

从 图 1 中可以看到,MRv1 实现了一个相对简单的集群管理器来执行 MapReduce 处理。MRv1 提供了一种分层的集群管理模式,其中大数据作业以单个 Map 和 Reduce 任务的形式渗入一个集群,并最后聚合成作业来报告给用户。但这种简单性有一些隐秘,不过也不是很隐秘的问题。

MRv1 的缺陷

apReduce 的第一个版本既有优点也有缺点。MRv1 是目前使用的标准的大数据处理系统。但是,这种架构存在不足,主要表现在大型集群上。当集群包含的节点超过 4,000 个时(其中每个节点可能是多核的),就会表现出一定的不可预测性。其中一个最大的问题是级联故障,由于要尝试复制数据和重载活动的节点,所以一个故障会通过网络泛洪形式导致整个集群严重恶化。

但 MRv1 的最大问题是多租户。随着集群规模的增加,一种可取的方式是为这些集群采用各种不同的模型。MRv1 的节点专用于 Hadoop,所以可以改变它们的用途以用于其他应用程序和工作负载。当大数据和 Hadoop 成为云部署中一个更重要的使用模型时,这种能力也会增强,因为它允许在服务器上对 Hadoop 进行物理化,而无需虚拟化且不会增加管理、计算和输入/输出开销。

我们现在看看 YARN 的新架构,看看它如何支持 MRv2 和其他使用不同处理模型的应用程序。


YARN (MRv2) 简介

为了实现一个 Hadoop 集群的集群共享、可伸缩性和可靠性。设计人员采用了一种分层的集群框架方法。具体来讲,特定于 MapReduce 的功能已替换为一组新的守护程序,将该框架向新的处理模型开放。

回想一下,由于限制了扩展以及网络开销所导致的某些故障模式,MRv1 JobTracker 和 TaskTracker 方法曾是一个重要的缺陷。这些守护程序也是 MapReduce 处理模型所独有的。为了消除这一限制,JobTracker 和 TaskTracker 已从 YARN 中删除,取而代之的是一组对应用程序不可知的新守护程序。


图 2. YARN 的新架构

YARN 分层结构的本质是 ResourceManager。这个实体控制整个集群并管理应用程序向基础计算资源的分配。ResourceManager 将各个资源部分(计算、内存、带宽等)精心安排给基础 NodeManager(YARN 的每节点代理)。ResourceManager 还与 ApplicationMaster 一起分配资源,与 NodeManager 一起启动和监视它们的基础应用程序。在此上下文中,ApplicationMaster 承担了以前的 TaskTracker 的一些角色,ResourceManager 承担了 JobTracker 的角色。

ApplicationMaster 管理一个在 YARN 内运行的应用程序的每个实例。ApplicationMaster 负责协调来自 ResourceManager 的资源,并通过 NodeManager 监视容器的执行和资源使用(CPU、内存等的资源分配)。请注意,尽管目前的资源更加传统(CPU 核心、内存),但未来会带来基于手头任务的新资源类型(比如图形处理单元或专用处理设备)。从 YARN 角度讲,ApplicationMaster 是用户代码,因此存在潜在的安全问题。YARN 假设 ApplicationMaster 存在错误或者甚至是恶意的,因此将它们当作无特权的代码对待。

NodeManager 管理一个 YARN 集群中的每个节点。NodeManager 提供针对集群中每个节点的服务,从监督对一个容器的终生管理到监视资源和跟踪节点健康。MRv1 通过插槽管理 Map 和 Reduce 任务的执行,而 NodeManager 管理抽象容器,这些容器代表着可供一个特定应用程序使用的针对每个节点的资源。YARN 继续使用 HDFS 层。它的主要 NameNode 用于元数据服务,而 DataNode 用于分散在一个集群中的复制存储服务。

要使用一个 YARN 集群,首先需要来自包含一个应用程序的客户的请求。ResourceManager 协商一个容器的必要资源,启动一个 ApplicationMaster 来表示已提交的应用程序。通过使用一个资源请求协议,ApplicationMaster 协商每个节点上供应用程序使用的资源容器。执行应用程序时,ApplicationMaster 监视容器直到完成。当应用程序完成时,ApplicationMaster 从 ResourceManager 注销其容器,执行周期就完成了。

通过这些讨论,应该明确的一点是,旧的 Hadoop 架构受到了 JobTracker 的高度约束,JobTracker 负责整个集群的资源管理和作业调度。新的 YARN 架构打破了这种模型,允许一个新 ResourceManager 管理跨应用程序的资源使用,ApplicationMaster 负责管理作业的执行。这一更改消除了一处瓶颈,还改善了将 Hadoop 集群扩展到比以前大得多的配置的能力。此外,不同于传统的 MapReduce,YARN 允许使用 Message Passing Interface 等标准通信模式,同时执行各种不同的编程模型,包括图形处理、迭代式处理、机器学习和一般集群计算。


您需要知道的事

随着 YARN 的出现,您不再受到更简单的 MapReduce 开发模式约束,而是可以创建更复杂的分布式应用程序。实际上,您可以将 MapReduce 模型视为 YARN 架构可运行的一些应用程序中的其中一个,只是为自定义开发公开了基础框架的更多功能。这种能力非常强大,因为 YARN 的使用模型几乎没有限制,不再需要与一个集群上可能存在的其他更复杂的分布式应用程序框架相隔离,就像 MRv1 一样。甚至可以说,随着 YARN 变得更加健全,它有能力取代其他一些分布式处理框架,从而完全消除了专用于其他框架的资源开销,同时还简化了整个系统。

为了演示 YARN 相对于 MRv1 的效率提升,可考虑蛮力测试旧版本的 LAN Manager Hash 的并行问题,这是旧版 Windows® 用于密码散列运算的典型方法。在此场景中,MapReduce 方法没有多大意义,因为 Mapping/Reducing 阶段涉及到太多开销。相反,更合理的方法是抽象化作业分配,以便每个容器拥有密码搜索空间的一部分,在其之上进行枚举,并通知您是否找到了正确的密码。这里的重点是,密码将通过一个函数来动态确定(这确实有点棘手),而不需要将所有可能性映射到一个数据结构中,这就使得 MapReduce 风格显得不必要且不实用。

归结而言,MRv1 框架下的问题仅是需要一个关联数组,而且这些问题有专门朝大数据操作方向演变的倾向。但是,问题一定不会永远仅局限于此范式中,因为您现在可以更为简单地将它们抽象化,编写自定义客户端、应用程序主程序,以及符合任何您想要的设计的应用程序。


开发 YARN 应用程序

使用 YARN 提供的强大的新功能和在 Hadoop 之上构建自定义应用程序框架的能力,您还会面临新的复杂性。为 YARN 构建应用程序,比在 YARN 之前的 Hadoop 之上构建传统 MapReduce 应用程序要复杂得多,因为您需要开发一个 ApplicationMaster,这就是在客户端请求到达时启动的 ResourceManager。ApplicationMaster 有多种需求,包括实现一些需要的协议来与 ResourceManager 通信(用于请求资源)和 NodeManager(用于分配容器)。对于现有的 MapReduce 用户,MapReduce ApplicationMaster 可最大限度地减少所需的任何新工作,从而使部署 MapReduce 作业所需的工作量与 YARN 之前的 Hadoop 类似。

在许多情况下,YARN 中一个应用程序的生命周期类似于 MRv1 应用程序。YARN 在一个集群中分配许多资源,执行处理,公开用于监视应用程序进度的接触点,且最终在应用程序完成时释放资源并执行一般清理。这个生命周期的一种样板实现可在一个名为 Kitten 的项目中获得(参见 参考资料)。Kitten 是一组工具和代码,可简化 YARN 中的应用程序开发,从而使您能够将精力集中在应用程序的逻辑上,并在最初忽略协商和处理 YARN 集群中各种实体的局限性的细节。但是,如果希望更深入地研究,Kitten 提供了一组服务,可用于处理与其他集群实体(比如 ResourceManager)的交互。Kitten 提供了自己的 ApplicationMaster,很适用,但仅作为一个示例提供。Kitten 大量使用了 Lua 脚本作为其配置服务。


下一步计划

尽管 Hadoop 继续在大数据市场中发展,但它已开始了一场演变,以解决有待定义的大规模数据工作负载。YARN 仍然在积极发展且可能不适合生产环境,但 YARN 相对传统的 MapReduce 而言提供了重要优势。它允许开发 MapReduce 之外的新分布式应用程序,允许它们彼此同时共存于同一个集群中。YARN 构建于当前 Hadoop 集群的现有元素之上,但也改进了 JobTracker 等元素,可以提高可伸缩性和增强许多不同应用程序共享集群的能力。YARN 很快会来到您近旁的 Hadoop 集群中,带来它的全新功能和新复杂性。


参考资料

学习

  • 有关 Hadoop 及其生态系统中其他元素的最新新闻,请查阅  Apache Hadoop 项目站点。除了 Hadoop,您还将了解到 Hadoop 是如何(借助 YARN 等新技术)横向扩展以及(借助 Pig、Hive 等众多新技术)纵向升级的。
  • 随着 YARN 不断成熟,您会了解到使用 YARN 模型编写应用程序的早期方法。一个有用的参考资料是  编写 YARN 应用程序。您将在这篇参考资料中发现 YARN 引入的一些新复杂性,以及对于在一种 YARN 部署中用于实体间通信的各种协议的讨论。
  • 使用 Apache 的  Distributed Shell Source。
  • 查看来自  Big Data University 的关于众多主题的免费课程,包括 Hadoop 基础和文本分析精要,以及 SQL Access for Hadoop 和实时流计算。
  • Apache Hadoop 0.23 中的 MRv2,这是对一个 JARN 集群的重要技术细节的不错介绍。
  • Kitten: For Developers Who Like Playing with YARN 提供了对 YARN 应用程序开发的 Hitten 抽象的有用介绍。
  • 在  developerWorks 大数据内容专区 中了解有关大数据的更多信息。查找技术文档、指南文章、教育、下载、产品信息等。

原文链接: 将 Hadoop YARN 发扬广大 (责编/仲浩)

    index(subject)-JQuery API length-JQuery API lt(pos)-JQuery API size()-JQuery API CSS-JQuery API css(key, value)-JQuery API css(name)-JQuery API css(properties)-JQuery API height(val) -JQuery API height()-JQuery API width(val)-JQuery API width()-JQuery API DOM-JQuery API addClass(class)-JQuery API attr(key,fn)-JQuery API attr(key, value) -JQuery API attr(name)-JQuery API attr(properties) -JQuery API html(val)-JQuery API html()-JQuery API removeAttr(name)-JQuery API removeClass(class)-JQuery API text(val)-JQuery API text()-JQuery API toggleClass(class)-JQuery API val(val)-JQuery API val-JQuery API after(content) -JQuery API append(content) -JQuery API appendTo(expr) -JQuery API before(content)-JQuery API 很简单,如何得到当前的时间和日期?(在线等待) 请问哪里有用applet做的,能绘制数学曲线的动态演示系统?各位,请不吝赐教 今天大清早被人诅咒! Delete 多个表时一条语句怎样写?? 请教:如何获取文本框中SQL语句。50分 日期型的格式应该怎样写?? windows xp internet 浏览器的问题 大家帮我看看这段代码:它是如何得到name和phone的值,并写到文件中取得 100分求李维的delphi5.x分布式系统开发的源代码,电子书我已经有 奇怪。为何win2000的搜索选项中的日期控件是Delphi中的样式?欢迎来讨论,给分!!! 请教一个数据库查询的问题! 哥、姐帮帮小第,一生成并打印表格问题(有图片及字体适应),急急,十万火急。 怎样在ASP.NET的页面中,把DataGrid的表头改名??急急急!!! 在线求教:怎样在自己定义的函数里封装自己的MouseMove类??? (高手求救………100分)怎么样用socket(http)实现上载!请提供思路或source code! 怎样调用Dll中导出的变量??? 那位大哥有关于颜色渐变的算法的代码,给小弟一份 小弟万分感谢 颜色渐变的算法 颜色渐变的算法 问一个有关缓存的问题 更换基类的问题? 感谢上学期大家的帮助——散分 一个奇怪的问题,100在线送给你!!! 用rave生成的pdf格式报表,中文字符怎么是乱码? 请进来: windows 2000 能不能用API的方式将Imagelist中的图画在命令按钮(Commandbutton)上? 请各位指点怎么从SQL65升级到7,还有数据备份?请大侠指点迷津? 请问如何解决.exe文件在其他机器上的运行问题 允许DBGrid对记录进行编辑,在线等待,急急急~ 如何在vb.net定义失去焦点事件? 如何读出文章中的部分内容(在线等待) 怎么样在VB中实现象PING -A命令 有没有一个更好的论坛????????????????????有没有人来踢馆?????????????????????????????? 如何访问隐藏共享的硬盘 请大家评评,先谢了 一个有趣的问题: 慢的问题 我在windows下的FormInput里有多个sqlDataAdapter 数据几百条 DataSET.fill慢及了 如何返回当前程序目录的上一级目录? EA,你给我进来,你又欺负我MM啦? 请问PB的DATA window如何实现分页? 关于pb中我在sqlserver中定义的字段类型是varchar(1000),结果在做数据窗口时它总是自动截取为char(255),为什么?如何解决这个问题(除了 IIS出错了,凡是需要数据库的asp程序在执行时出错: 关于下三角矩阵压缩存储问题 求免费下载电影电视剧的FTP站点 模块实现 数据表转换问题. 请帮帮忙. 我种木马了,请问怎么解决?? 急问:"0x77fcb8f4"指令引用的“0x00000000”内存。该内存不能为“writter” 关于文件名问题 delphi6有没有判断字符串是不是全是字母或数字的函数? 顯示日志源代碼,但無法分頁,請高手... 用isql怎样得到数据库里所有表的列表? 将60℃的硫酸铜饱和溶液100克,冷却到20℃,下列说法正确的是将60℃的硫酸铜饱和溶液100克,冷却到20℃,为什么 溶液质量会变小 ,浓度减小,溶剂质量减小?求详解..谢谢谢谢. 请问有没有卖给鱼缸用的使用电池的加热棒?要有温度手工调节的功能注意是使用电池的.5号1号7号充电电池皆可. 我国哪个城市地形最险要古代的地形 为什么钠可以作原子反应堆的导热剂 如何计算加热棒所产生的最大温度我在有一块1.5KG的铁 需要加热到260度 请问需要多大功率的加热棒 (我现在用2根8*60 功率为150W的,但是温控显示只能达到235度 不知道是热电偶没装好还是加 生活怎样才简单 Na,K合金可作原子反应堆的导热剂.为什么 请问茶是发源与中国吗?茶的历史以及西方的茶与东方的茶的简介!希望短小一点,不要将无关的话贴上来, 山势很高2气势雄伟3地形险要那一个 鸦片战争时期中国贫困落后的根本原因 控制温度,我用一个PID控制加热棒,再用一个PID控制冷水,使温度保持恒定,可以实现吗?我想让一个小罐实现恒定的温度控制,想通过以上2种PID控制,是否可行呢? 山海关险要的地形可用什么八字成语 人民公社时期农村生产怎样的状况?说错了、是“遍哨子不买账,二遍哨子伸头望,三遍哨子慢慢晃”反映了当时农村生产怎样的状况?其主要原因是什么?、 鸦片战争前夕中国落后于世界的原因 为什么最早的化学萌芽在中国 却在西方成为一门正真的科学 人民公社是什么东东?谁想出来的? 炼油厂油的燃烧是把化学能转化为什么能 天气温度为5~10度,直接用加热棒加热到23度可以吗?我的鱼缸实际水位为50*25*35MM,天气温度为5~10度,今天刚买了一个300W的加热棒,直接放在鱼缸加热可以吗?我养的是普通的金鱼和锦鲤鱼.加热到几 人民公社存在多长时间? 将60度的硫酸铜饱和溶液100克,冷却到20度,下列书法正确的是A 溶液质量不变 B 溶剂质量发生变化 C 溶液为饱和溶液,浓度不变 D 有晶体析出,溶剂质量不变 为什么最早的化学萌发于中国却在西方成为一门真正的科学? 二氧化硫对植物的伤害极大.将四棵生长状况都良好、大小相似、品种相同的植物分别放入以下的四种环境中,如果四种环境中的二氧化硫的浓度相同,你认为下列哪种情况下植物受到的伤害最 将12.5克五水合硫酸铜制成百分之十的硫酸铜溶液 需要水多少克计算式完整一点 再告诉我要不要考虑水合 我国炼丹术西传,开启了西方近代化学之门,但后来我们在化学研究上却远落后于西方,为什么?我国炼丹术西传,开启了近代化学之门,但后来我们在化学研究上却远远落后于西方,这是为什么? 以下四种东西,哪种与碱反应会生成氨气A NO3B NHO3C NH2OD N2H4O3 请问五水头孢唑林钠是第几代抗生素,是属于特殊使用吗 中国共产党探索出的革命道路与俄国十月革命道路的异同 请教旅游从业者,什么是生态旅游? 鸦片战争后中国社会的趋势?从经济上、政治上和思想文化上来说! 分子节构由60个原子构成的象足球的分子模型是什么 生态旅游的意义是什么? 忐忑不安的解释 鱼缸加热棒老停鱼缸长方形的,加热棒在一头,估计另一头还没热它就停了,半分钟不到又开了,我该怎么办阿? 忐忑不安, 在酸性溶液中,能大量共存的离子组是A:Mg2+.Fe3+.NO2-SCN- B :Al3-.Fe2+.Cl- ,SO42在酸性溶液中,能大量共存的离子组是A:Mg2+.Fe3+.NO2-,SCN- .B :Al3-.Fe2+.Cl- ,(SO4)2-C:K+,Na+,Cl-,( HCO3)-D:Na+,Ca2+,(NO3)-,(SO4)2- 仿生学是一门怎样的学科? 为什么明朝起义的是农民阶级的李自成,不是资产阶级呢为什么张居正会这么早死呢. 抗生素自来水,喝着安全吗 仿生学是怎样的学科? 什么是生态旅游? 喝自来水安全吗?长期喝过滤过的自来水健康吗? 仿生学例子(1个) 快 如何在贵州发展生态旅游,1什么是生态旅游.2为什么要发展生态旅游 物理层与数据链路层的区别 物理的填空题 为什么只能用水对反应堆进行降温?不能用干冰、液氮之类低温的东西么?是会起反应还是其他原因? 常见的物理层传输媒体是什么? 清道夫总是在鱼缸壁上一动不动,是冬眠了吗?冬天鱼缸里没用加热棒,水的温度在17℃.鱼缸里还养的锦鲤,一个星期后水总是特别混,还想问一下是不是锦鲤生病了?清道夫不工作,鱼缸壁上很脏, 氨气和什么生成HCL 忐忑不安什么意思? 为什么总是那么孤单 天生不会与人建立和保持友谊 不会不懂不能与人交流沟通 不知要说些什么患者信息:男 22岁 病情描述(发病时间、主要症状等):在一个环境里面 从开始的不会不知不能 什么反应生成氨气求助:一般怎样的反应类型生成氨气的啊?有什么规律吗?把总结性的化学方程式写出来啊!最好配上几个例子! ------------初中化学! 如何将高压数显上的电流转换成低压电流表的读法? 寂寞是种怎样的杯具我不知道 但我知道……我自己一个人杯具的在电影院里看专扁衰仔 什么与水缓慢作用生成氨气化合物A与水缓慢作用生成氨气和化合物M,其中化合物A只含两种元素.请问A和M分别是什么? 为什么高压电流小低压电流大 学校要求六(1)班第一小队在劳动基地种向日葵若干棵,队长是这样分配任务的:刘利要种10棵和余下的1/10;剩下的任务,由赵楠种20棵和余下棵数的1/10,再剩下的任务,由王强种30棵和棵数的1/1 用什么加热来生成氨气 热带鱼加热棒,在使用时,是否需要将整个加热棒泡到水里,能不能把调节温度的头全浸入水中. A.希望得到 B.索取 C.需要;应该D.重要 E.将要 F.结果 中国前三季度国际收支经常项目顺差13巨丰投顾:多板块出现井喷 市场方向渐父母秘密策划 6岁白血病童收全球百万世界主要城市10月31日天气预报新快报记者陈永洲因涉嫌损害商业信誉罪浙江省拿出百万元奖励一线杰出职工获评服役三十年的运河桥明起拆除 见证杭州浙江从明年开始开展无违建县创建活动杭州一大妈在城市空地种2000余株罂浙江临海休闲产业进入“双时代”打造“宁波红光集团等6企业涉税严重违法35杭州西博车展第二季 豪车美女亮相博眼驻韩美军军事邮局成\"毒品仓库\' 中国-海湾合作委员会第三轮战略对话将商务部:欧盟对华钢铁紧固件反倾销措施习近平会见伊朗伊斯兰议会议长拉里贾尼朝鲜举行全国软件竞赛暨展览会 展出逾日本拟将钓鱼岛海域列入重点防御“灰色白宫将约束国安局监控活动 检讨情报搜德国380公斤女子出门就医 消防队出小偷盗窃防盗设备公司总裁住宅 警方称印尼载113人军机市区坠毁全国铁路今起再调图惨遭“坑爹”!主帅被炒酮康唑口服制剂召回销毁“母亲香”,一位调香师闻到的最香气味被控受贿庇护毒贩全国人大常委会通过国家安全法灵活就业人员10月起参加职工医保相亲是预设的局?知名企业晒福利抢人才43岁,匆匆离去……关注互联网指数。广东2次公布高速收支相差33亿 回应埃博拉在利比里亚卷土重来?查查甲状旁腺中国标准动车组下线时速350公里大小均衡连号淡出中国金融市场化改革越快越好六年引援路 “卡司”节节高2015红牛飘移大赛投资骗局圈钱数亿
    备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘