三:基于Storm的实时处理大数据的平台架构设计
一:元数据管理器
==>元数据管理器是系统平台的“大脑”,在任务调度中有着重要的作用
【1】什么是元数据?
--->中介数据,用于描述数据属性的数据。
--->具体类型:描述数据结构,数据的具体位置,数据间的依赖关系,数据的处理过程,数据的快照信息等。
【2】为何要引入元数据
--->实际案例:HDFS中的NameNode节点,Hive的MySql元数据表,MooseFs的Master节点,GFS(Google分布式文件系统)中的Master节点等。
--->在大数据处理架构中引入元数据结构,描述数据流名称,类型,字段结构,数据流转过程等,便于各个数据处理系统间协调,使数据业务调度更加的精准,便捷。
【3】实时处理平台任务调度
---->类SQL查询插入语句:INSERT MySQL INTO domain_table SELECT * FROEM domain_streaming AS d WHERE LENGTH(d.domain) <= 10 AND d.value > 2000 AND d.seller LIKE %tony%;
---->任务调度:实时处理内部拓扑数据流调度(节点模块化),不同组件之间的数据流调度,不同子系统之间的任务调度。
---->推荐方案:MySQL 或者 Zookeeper作为元数据的存储组件。
二:多节点统一配置管理
==>配置管理是一个系统的重要辅助功能,多节点的配置管理将比单节点的配置管理更为复杂,但其重要性也更加明显。
【1】多节点配置的相关问题
--->节点太多,需要配置的配置文件太多,太繁琐。
--->配置需要修改时,很难保证每个节点的配置统一,维护成本高
--->无法针对性的对功能节点进行配置,导致配置文件过于臃肿
--->配置文件太分散,动态更新成本过高。
【2】几种可行的分布式配置解决方案
--->依赖于Storm主类本身的Config对象进行传递
--->使用MySQL进行配置文件的同意存储。
--->以Puppet为核心的统一配置管理系统。
--->基于ZooKeeper的统一配置管理系统。
【3】基于ZooKeeper的统一配置管理解决方案
三:数据处理系统监控
==>一个完善的系统监控平台将大大降低数据处理平台的后期维护成本,也将是后期集群扩展的重要支撑条件。
【1】系统监控的重要性
--->数据平台作为底层数据加工处理的基础平台,任何事故(包括服务以及系统的故障)对于上层应用的影响很大,而数据平台的监控系统是故障快速定位,快速恢复的基本保障。
--->对于规模较小的数据处理平台,规划监控系统对于整个平台的扩展是有预见性的。
【2】系统监控的几大指标
--->系统层面:CPU,内存,磁盘的利用率,I/O负载,网络流量
--->服务层:Storm的两个基本服务(Nimbus和Supervisor),MQ,ZooKeeper,MySQL以及其他相关组件服务
--->应用层:具体的拓扑,拓扑对应的状态,具体工作Worker的状态
【3】系统监控的初步解决方案
---->系统层解决方案:分布式监控组件Ganglia或者Puppet+Zabbix结构
---->服务层解决方案:Puppet+服务探测脚本,ZooKeeper+服务探测脚本
---->应用层解决方案:使用ThriftAPI编写Thrift Client,请求Nimbus内置的Thrift Server,获取相关数据(Storm集群以及Topology数据)
四:数据总线
==>让数据流转于数据总线中,方便各个数据处理模块对数据的接入以及吐出,数据总线的设计将使数据流转更加的便捷快速
【1】数据总线的概念
--->总线:计算机各个功能部件之间传递信息的公共通信干线
--->数据平台中的数据总线概念:区别于计算机学科中数据总线的定义,在于强调各个数据处理组件,子系统能够进数据的传递。
【2】为何要引入数据总线
--->数据执行跨平台,跨语言,跨空间的处理(解藕,数据格式约定好就ok)
--->数据安全隔离,有效隔离不同组件,系统之间的直接操作
--->冗余数据保护,避免数据在某个组件,系统中造成积压
【3】基于MQ的数据总线设计
五:基于Storm的基础平台架构
==>我们将把前面所有的相关平台组件进行集成,组成围绕Storm的一个实时数据处理的基础平台
【1】基础架构图详解【2】Storm平台的发展方向
--->提供更加灵活的分组策略,应用更加多变复杂的业务需求
--->大数据平台统一融合趋势,兼容更多的分布式相关组件的数据接口(Kafka,Hbse,Hive,Redis等)
--->集群资源的统一调度管理,剥离自身资源调度功能,交由诸如Yarn,Mesos专门的组件统一调度(协调各个子系统的资源)
【3】大数据平台思维的延伸
--->数据源收集:互联网数据金矿的挖掘
--->大数据平台一体化融合思维:随着数据的急剧上升,大数据处理需求的多样化,数据在不同平台流通的需求迫切,整合不同大数据相关组件架构,进行一体化融合是一个大趋势。
--->平台即服务思维:Docker技术的出现,让大数据平台的构建变得更简单,平台节点大规模快速安装,资源得到更好得隔离,数据平台服务化
三:基于Storm的实时处理大数据的平台架构设计的更多相关文章
- 基于MaxCompute的媒体大数据开放平台建设
摘要:随着自媒体的发展,传统媒体面临着巨大的压力和挑战,新华智云运用大数据和人工智能技术,致力于为媒体行业赋能.通过媒体大数据开放平台,将媒体行业全网数据汇总起来,借助平台数据处理能力和算法能力,将有 ...
- 从 Airflow 到 Apache DolphinScheduler,有赞大数据开发平台的调度系统演进
点击上方 蓝字关注我们 作者 | 宋哲琦 ✎ 编 者 按 在不久前的 Apache DolphinScheduler Meetup 2021 上,有赞大数据开发平台负责人 宋哲琦 带来了平台调度系统 ...
- Spark 介绍(基于内存计算的大数据并行计算框架)
Spark 介绍(基于内存计算的大数据并行计算框架) Hadoop与Spark 行业广泛使用Hadoop来分析他们的数据集.原因是Hadoop框架基于一个简单的编程模型(MapReduce),它支持 ...
- 如何基于Go搭建一个大数据平台
如何基于Go搭建一个大数据平台 - Go中国 - CSDN博客 https://blog.csdn.net/ra681t58cjxsgckj31/article/details/78333775 01 ...
- 联童科技基于incubator-dolphinscheduler从0到1构建大数据调度平台之路
联童科技是一家智能化母婴童产业平台,从事母婴童行业以及互联网技术多年,拥有丰富的母婴门店运营和系统开发经验,在会员经营和商品经营方面,能够围绕会员需求,深入场景,更贴近合作伙伴和消费者,提供最优服务产 ...
- 大数据计算平台Spark内核全面解读
1.Spark介绍 Spark是起源于美国加州大学伯克利分校AMPLab的大数据计算平台,在2010年开源,目前是Apache软件基金会的顶级项目.随着Spark在大数据计算领域的暂露头角,越来越多的 ...
- 大数据计算平台Spark内核解读
1.Spark介绍 Spark是起源于美国加州大学伯克利分校AMPLab的大数据计算平台,在2010年开源,目前是Apache软件基金会的顶级项目.随着 Spark在大数据计算领域的暂露头角,越来越多 ...
- 大数据竞赛平台——Kaggle 入门
Reference: http://blog.csdn.net/witnessai1/article/details/52612012 Kaggle是一个数据分析的竞赛平台,网址:https://ww ...
- 大数据竞赛平台——Kaggle 入门篇
这篇文章适合那些刚接触Kaggle.想尽快熟悉Kaggle并且独立完成一个竞赛项目的网友,对于已经在Kaggle上参赛过的网友来说,大可不必耗费时间阅读本文.本文分为两部分介绍Kaggle,第一部分简 ...
随机推荐
- 2 Advanced Read/Write Splitting with PHP’s MySQLnd
原文地址需FQ才能看 https://blog.engineyard.com/2014/advanced-read-write-splitting-with-phps-mysqlnd In part ...
- SRM12 T2夏令营(分治优化DP+主席树 (已更新NKlogN)/ 线段树优化DP)
先写出朴素的DP方程f[i][j]=f[k][j-1]+h[k+1][i] {k<i}(h表示[k+1,j]有几个不同的数) 显然时间空间复杂度都无法承受 仔细想想可以发现对于一个点 i ...
- 【HASH】【UVA 10125】 Sumset
传送门 Description 给定一个整数集合S,求一个最大的d,满足a+b+c=d,其中a,b,c,d∈S Input 多组数据,每组数据包括: 第一行一个整数n,代表元素个数 下面n行每行一个整 ...
- Spring3 MVC 深入核心研究
[转载自 http://elf8848.iteye.com/blog/875830] 目录: 一.前言 二.核心类与接口 三.核心流程图 四.DispatcherServlet说明 五.双亲上下文的说 ...
- All you need to know about sorting in Postgres
按:之前看pg的执行计划,多次看到不同的排序方式,但不知何意.偶遇此篇讲解pg执行计划三种排序方式,备忘一下. Sorting Sorting is one of the most fundament ...
- vector.clear()的内存泄露问题
在使用vector的过程中,经常会遇到以下场景 vector<int> vec; ) { vec.push_back(); vec.push_back(); vec.push_back() ...
- (转)如何在windows 2008 安装IIS
首先声明本文转自http://www.pc6.com/infoview/Article_54712.html ,作者为清晨 转载的原因有两个,一是怕原文挂了,而是打算写一下在阿里云部署django的文 ...
- 可能是国内最火的开源项目 —— C/C++ 篇
程序员们,在北上广你还能买房吗? >>> 推荐阅读: 可能是最火的开源项目 -- Java 篇 可能是国内最火的开源项目 -- PHP 篇 可能是国内最火的开源项目 -- Pyt ...
- Everything Has Changed(HDU6354+圆交+求周长)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6354 题目: 题意:用一堆圆来切割一个圆心为原点,半径为R的圆A,问切割完毕后圆A外围剩余部分的周长( ...
- js 重置表单
//方法一document.getElementById("myform").reset(); //方法二 ].reset(); //方法三 使用input按钮 <input ...