Apache Mesos

大数据平台搭建包含哪些层级

為{幸葍}努か 提交于 2020-09-30 21:48:39
  大数据分析平台的搭建有利于帮助企业构建统一的数据存储和数据处理资源,围绕企业业务开展大数据应用建设,最终形成面向服务化的数据资产。而今天我们就来了解一下,常见的大数据平台都包含哪些层次?   1、数据采集层:分3个层面的采集技术进行支持,一是传统业务系统数据库和半结构化、结构化数据的采集和集成,如采用Sqoop技术进行关系数据库和Hadoop系统之间的数据抽取和交换;二是交通实时流数据的采集,包括实时传感器数据、定位轨迹数据和其他实时流数据;三是交通公共数据的采集,包括公网的数据爬取、开放平台的数据接口、行业公共数据库的数据交换等。对采集到的数据需进行提取、转换和加载(extract-transform-load,ETL)处理,包括数据抽取、转换、清洗和隐私脱敏等预处理工作,预处理集成后的数据进入交通大数据云存储中心。   2、数据存储层:交通领域数据规模巨大,数据存储层需设计基于云计算的分布式云存储系统,以支持海量数据的存储扩展。提供基于云的列式存储、NoSQL存储或数据仓库存储能力;根据业务需求和快速配置,可切换相应的分布式存储模式,还可根据需要对传统BI系统的数据仓库和数据集市进行集成。利用Hadoop集群提供PB级存储能力扩展,同时Hadoop YARN和Spark Mesos等集群资源管理框架可支持多种存储模式和计算模式在此基础上,对各类存储数据进行多粒度信息融合

Docker将何去何从?

旧街凉风 提交于 2020-08-18 20:34:25
上次还是3月份撰写文章: Docker 再见,五种替代容器走上历史舞台 ,没想到老外又搞小动作加速了Docker下台。 请看本文吧,软件技术在别人手里。。。。我们还是要加倍努力啊! 十二大Docker开源替代产品? 众所周知,在全球范围内,Docker已经发展成为云计算的核心技术之一。 作为流行的容器管理技术,Docker的最大优点是能将应用与计算环境分离,允许开发者在同一台计算机上使用不同的技术。通过Docker,开发者可以使应用程序在同一服务器上运行Python、Ruby、PHP、Node JS或任何其他语言,并将每个应用程序安装在具备独立数据库引擎的单独容器中。 但是,8月13日生效的Docker公司最新服务条款引起了国内IT业界的广泛关注。该条款明确指出,Docker公司提供的服务,禁止美国“实体清单”上的实体使用。 目前中国IT公司被列入贸易管制“实体清单”的企业包括:华为、商汤、依图、旷视、海康威视、大华、科大讯飞、美亚柏科、颐信科技、奇虎360、烽火科技集团、东方网力、达闼科技、云从科技、中科曙光、海光等。 而且,未来不排除更多的中国IT公司会被“请进”这个“实体清单”。 虽然受“实体清单”禁令限制的是Docker商业版及Docker的其它服务,比如Docker Hub,但这依然给Docker中国的前景蒙上了阴影。 而且,有业内人士指出:Docker这家公司到目前

阿里架构师细说分布式之集中式结构,愿下次面试不再有分布式

好久不见. 提交于 2020-08-16 19:03:39
本文已收录 GitHub ,更有互联网大厂面试真题,面试攻略,高效学习资料等 云这个话题对我们来说已经非常熟悉了。可以说,云在我们的生活中无处不在,比如我们平时看的视频通常就是放在云上的。当我们要播放一段视频时,请求会先转发到云上,从云上下载数据到本地,然后播放。在这里,你肯定会疑惑,云上资源那么丰富吗,可以存放这么多东西吗? 云上的资源确实丰富,因为它可以尽可能地把更多的服务器组织起来,作为一个统一的资源,为多个用户提供服务。这里的重点是,把多个服务器管理起来,作为一个统一的资源提供服务。而如何组织,就是分布式体系结构的范畴了。 你会发现,很多场景下,我们的请求都会汇总到一台服务器上,由这台服务器统一协调我们的请求和其他服务器之间的关系。这种由一台服务器统一管理其他服务器的方式,就是分布式体系结构中的集中式结构(也称为 Master/Slave 架构),其中统一管理其他服务器的服务器是主,其他服务器是从,可以形象地比喻为“一人在上,万人在下”。 接下来,我就带你一起打卡分布式体系结构中的集中式结构吧。 一、什么是集中式结构? 集中式结构就是,由一台或多台服务器组成中央服务器,系统内的所有数据都存储在中央服务器中,系统内所有的业务也均先由中央服务器处理。多个节点服务器与中央服务器连接,并将自己的信息汇报给中央服务器,由中央服务器统一进行资源和任务调度:中央服务器根据这些信息

Sparrow:分布式低延迟调度

大城市里の小女人 提交于 2020-08-15 05:04:41
1.摘要 大型数据分析框架正在朝着缩短任务执行时间和提高并行度的方向发展来提供低延迟,任务调度器面临的主要挑战是在几百毫秒内完成高度并行的作业调度,这需要在合适的机器上每秒调度数百万个任务,同时提供毫秒级的延迟和高可用性。本文证明了去中心化、随机抽样方法可提供最佳性能,同时避免了中心化设计存在吞吐量和高可用的问题。本文在110台计算机集群上部署Sparrow,并证明Sparrow的性能与理想的调度程序的误差在12%以内。 2.介绍 当今的数据分析集群运行的时间越来越短,作业的任务越来越多。在对低延迟交互式数据处理的需求的刺激下,研究机构和同行业共同努力产生了一些框架(例如Dremel,Spark,Impala)可以在数千台机器上工作,或将数据存储在内存以秒级分析大量数据,如图1所示。预计这种趋势会继续推动开发针对次秒级响应时间的新一代框架响应时间进入100ms左右,这让新的强大的应用程序成为可能;例如,面向用户的服务在每个查询的基础上将能够运行复杂的并行计算,比如语言翻译和高度个性化的搜索。 图1:数据分析框架分析大量数据的延迟非常低 调度由简短的次秒级任务组成的作业极具挑战,这些作业不仅是因为低延迟框架出现的,也有将长时间运行的批处理作业分解为大量短时间任务的原因。当任务以几百毫秒的速度运行时,调度决策必须有很高的吞吐量:一个由10000个16核机器组成的集群并运行100毫秒任务

Flink 1.10 细粒度资源管理解析

倖福魔咒の 提交于 2020-08-14 06:00:05
相信不少读者在开发 Flink 应用时或多或少会遇到在内存调优方面的问题,比如在我们生产环境中遇到最多的 TaskManager 在容器化环境下占用超出容器限制的内存而被 YARN/Mesos kill 掉[1],再比如使用 heap-based StateBackend 情况下 State 过大导致 GC 频繁影响吞吐。这些问题对于不熟悉 Flink 内存管理的用户来说十分难以排查,而且 Flink 晦涩难懂的内存配置参数更是让用户望而却步,结果是往往将内存调大至一个比较浪费的阈值以尽量避免内存问题。 对于作业规模不大的普通用户而言,这些通常在可以接受的范围之内,但对于上千并行度的大作业来说,浪费资源的总量会非常可观,而且进程的不稳定性导致的作业恢复时间也会比普通作业长得多,因此阿里巴巴的 Blink 团队针对内存管理机制做了大量的优化,并于近期开始合并到 Flink。本文的内容主要基于阿里团队工程师宋辛童在 Flink Forward Beijing 的分享[2],以及后续相关的几个 FLIP 提案。 Flink 目前(1.9)的内存管理 TaskManager 作为 Master/Slave 架构中的 Slave 提供了作业执行需要的环境和资源,最为重要而且复杂,因此 Flink 的内存管理也主要指 TaskManager 的内存管理。 TaskManager 的资源

Flink 入门

我与影子孤独终老i 提交于 2020-08-13 09:36:41
Apache Flink是一个 框架 和 分布式处理引擎 ,用于在 无界 和 有界 数据流上进行 有状态的计算 。Flink被设计为在所有常见的集群环境中运行,以内存中的速度和任何规模执行计算。 Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale. 1. 什么是Flink 1.1. 处理无界和有界数据 数据可以作为无界流或有界流被处理 Unbounded streams (无界流)有一个起点,但没有定义的终点。它们不会终止,而且会源源不断的提供数据。无边界的流必须被连续地处理,即事件达到后必须被立即处理。等待所有输入数据到达是不可能的,因为输入是无界的,并且在任何时间点都不会完成。处理无边界的数据通常要求以特定顺序(例如,事件发生的顺序)接收事件,以便能够推断出结果的完整性。 Bounded streams (有界流

停滞数年后,ElasticJob 携首个 Apache 版本 3.0.0-alpha 回归!

↘锁芯ラ 提交于 2020-08-11 11:30:26
作者 | 张亮,Apache ShardingSphere PMC Chair 责编 | 夕颜 头图 | CSDN 出品 | CSDN(ID:CSDNnews) 在成为 Apache ShardingSphere 的子项目的几个月时间里,ElasticJob 社区在修复与合并了535个 issue 和 pull request 之后,发布了加入 Apache 软件基金会后的第一个正式版本:3.0.0-alpha。 背景 ElasticJob( https://github.com/apache/shardingsphere-elasticjob )是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。它诞生于 2015年,当时业界虽然有 QuartZ 等出类拔萃的定时任务框架,但缺乏分布式方面的探索。分布式调度云平台产品的缺失,使得 ElasticJob 从出现伊始便备受关注。它有效地弥补了作业在分布式领域的短板,并且提供了一站式的自动化运维管控端,各个产品使用统一的作业 API,开发者仅需一次开发,即可随意部署。 ElasticJob 在技术选型时,选择站在了巨人的肩膀上而不是重复制造轮子的理念,将定时任务事实标准的 QuartZ 与 分布式协调的利器 ZooKeeper 完美结合

ElasticJob 社区重启运营,可同时调度 10w 级别并发任务

房东的猫 提交于 2020-08-09 14:58:40
你会误认为 ElasticJob 只 是作业管控平台么?创始人为你解读产品定位与新版本设计理念 ——写于 ElasticJob 3.x 版本发布前夕 作者 张亮,京东数科数据研发负责人,Apache ShardingSphere 创始人 & 项目 VP、ElasticJob 创始人。 热爱开源,主导开源项目 ShardingSphere (原名 Sharding-JDBC) 和 ElasticJob。擅长以 Java 为主分布式架构,推崇优雅代码,对如何写出具有展现力的代码有较多研究。 目前主要精力投入在将 Apache ShardingSphere 打造为业界一流的金融级数据解决方案之上。Apache ShardingSphere 是 Apache 软件基金会旗下的顶级项目,也是 Apache 软件基金会首个分布式数据库中间件。 调度(Scheduling)在计算机领域是个非常庞大的概念,CPU 调度、内存调度、进程调度等都可以称之为调度。它是指在特定的时机分配合理的资源去处理预先确定的任务,用于在适当的时机触发一个包含业务逻辑的应用。 调度无论在单机还是分布式环境中都是很重要的课题。在单机环境,调度与底层操作系统脱离不了干系;而在分布式环境中,调度直接决定运行集群的投入和产出。调度的两个核心要素是资源治理和触发时机。 ElasticJob 是一个分布式调度解决方案

深入解读Flink资源管理机制

跟風遠走 提交于 2020-08-06 10:09:15
作者:宋辛童(五藏) 整理:王文杰(Flink 社区志愿者) 摘要:本文根据 Apache Flink 系列直播整理而成,由阿里巴巴高级开发工程师宋辛童分享。文章主要从基本概念、当前机制与策略、未来发展方向等三个方面帮助开发者深入理解 Flink 的资源管理机制。 基本概念 当前机制与策略 未来发展方向 Tips: 点击「下方链接」可查看更多数仓系列视频~ https://ververica.cn/developers/flink-training-course-data-warehouse/ 1. 基本概念 1.1 相关组件 我们今天介绍的主要是与 Flink 资源管理相关的组件,我们知道一个 Flink Cluster 是由一个 Flink Master 和多个 Task Manager 组成的,Flink Master 和 Task Manager 是进程级组件,其他的组件都是进程内的组件。 图1. Flink 资源管理相关组件 如图1所示,一个 Flink Master 中有一个 Resource Manager 和多个 Job Manager ,Flink Master 中每一个 Job Manager 单独管理一个具体的 Job ,Job Manager 中的 Scheduler 组件负责调度执行该 Job 的 DAG 中所有 Task ,发出资源请求

史上最全的大数据技术栈,有种冲动学习的既视感,你是否感受到了自己的不足?

泄露秘密 提交于 2020-08-05 04:19:44
前言 提起大数据,不得不提由IBM提出的关于大数据的5V特点: Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性) ,而对于大数据领域的从业人员的日常工作也与这5V密切相关。大数据技术在过去的几十年中取得非常迅速的发展,尤以Hadoop和Spark最为突出,已构建起庞大的技术生态体系圈。 下面我们通过一张图来了解一下目前大数据领域常用的一些技术,当然大数据发展至今所涉及技术远不止这些。 下面自底向上介绍各个层的主要项目。 1 采集层和传输层 Sqoop 在hadoop和关系型数据库之间转换数据。 Flume Flume是一个分布式的高可用的数据收集、聚集和移动的工具。通常用于从其他系统搜集数据,如web服务器产生的日志,通过Flume将日志写入到Hadoop的HDFS中。 Canal 数据抽取是 ETL 流程的第一步。我们会将数据从 RDBMS 或日志服务器等外部系统抽取至数据仓库,进行清洗、转换、聚合等操作。在现代网站技术栈中,MySQL 是最常见的数据库管理系统,我们会从多个不同的 MySQL 实例中抽取数据,存入一个中心节点,或直接进入 Hive。市面上已有多种成熟的、基于 SQL 查询的抽取软件,如著名的开源项目 Apache Sqoop,然而这些工具并不支持实时的数据抽取。MySQL Binlog