POSTGRESQL双机集群+磁盘阵列柜方案
1、如果用ROSE之类的双机系统做双机冗余,涉及到的进程监视点调试极其麻烦,不是资深的原厂认证工程师根本就搞不定,对于可靠性上来说倒是绝对满足没有问题,但可维护性来说实在是件要命的事。
公司主营业务:网站制作、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出建安免费做网站回馈大家。
2、你可以考虑用VMWARE ESX做双机集群,然后把POSTGRESQL的WIN2K3虚拟机放在双机集群上,做虚拟机进程的动态漂移,这根本就不需要去针对进程监视做那一大堆的调试,当集群里一台服务器DOWN掉的时候,而且还要恰好你的应用虚拟机进程现在就跑在DOWN掉的这台上,那么在1秒内会动态漂到另一台并行的服务器上,几乎是无缝的,但在管理机的VSPHARE上可以实时看到,我认为这个方案比传统双机要好得多,而且ESX也不贵,调试比双机冗余来得简单,网上还有大堆的破解。
大数据调度平台分类(Oozie/Azkaban/AirFlow/DolphinScheduler)
大数据调度系统,是整个离线批处理任务和准实时计算计算任务的驱动器。这里我把几个常见的调度系统做了一下分类总结,结合目前阿里云上的MaxCompute中的调度系统,做个对比。
Oozie是一个workflow(工作流)协调系统,是由Cloudera公司贡献给Apache的,主要用来管理Hadoop作业(job)。
统一调度hadoop系统中常见的mr任务启动、Java MR、Streaming MR、Pig、Hive、Sqoop、Spark、Shell等。
配置相关的调度任务复杂,依赖关系、时间触发、事件触发使用xml语言进行表达。
任务状态、任务类型、任务运行机器、创建时间、启动时间、完成时间等。
支持启动/停止/暂停/恢复/重新运行:支持启动/停止/暂停/恢复/重新运行。
可以通过DB支持HA(高可用)。调度任务时可能出现死锁,依赖当前集群版本,如更新最新版,易于现阶段集群不兼容。
Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的key:value对的方式,通过配置中的dependencies 来设置依赖关系,这个依赖关系必须是无环的,否则会被视为无效的工作流。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
command、HadoopShell、Java、HadoopJava、Pig、Hive等,支持插件式扩展。
实际项目中经常有这些场景:每天有一个大任务,这个大任务可以分成A,B,C,D四个小任务,A,B任务之间没有依赖关系,C任务依赖A,B任务的结果,D任务依赖C任务的结果。一般的做法是,开两个终端同时执行A,B,两个都执行完了再执行C,最后再执行D。这样的话,整个的执行过程都需要人工参加,并且得盯着各任务的进度。但是我们的很多任务都是在深更半夜执行的,通过写脚本设置crontab执行。其实,整个过程类似于一个有向无环图(DAG)。每个子任务相当于大任务中的一个流,任务的起点可以从没有度的节点开始执行,任何没有通路的节点之间可以同时执行,比如上述的A,B。总结起来的话,我们需要的就是一个工作流的调度器,而Azkaban就是能解决上述问题的一个调度器。
提供job配置文件快速建立任务和任务之间的依赖关系,通过自定义DSL绘制DAG并打包上传。
只能看到任务状态。
只能先将工作流杀死在重新运行。
通过DB支持HA,任务太多时会卡死服务器。
Airflow 是 Airbnb 开源的一个用 Python 编写的调度工具。于 2014 年启动,2015 年春季开源,2016 年加入 Apache 软件基金会的孵化计划。Airflow 通过 DAG 也即是有向非循环图来定义整个工作流,因而具有非常强大的表达能力。
支持Python、Bash、HTTP、Mysql等,支持Operator的自定义扩展。
需要使用Python代码来定义流程。
不直观。
杀掉任务,重启。
任务过多会卡死。
XXL-JOB是一个开源的,具有丰富的任务管理功能以及高性能,高可用等特点的轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展、开箱即用。
基于Java。
无,但是可以配置任务之间的依赖。
无
可以暂停、恢复。
支持HA。任务是基于队列的,轮询机制。
DolphinScheduler是今年(2019年)中国易观公司开源的一个调度系统,在今年美国时间2019年8月29号,易观开源的分布式任务调度引擎DolphinScheduler(原EasyScheduler)正式通过顶级开源组织Apache基金会的投票决议,根据Apache基金会邮件列表显示,在包含11个约束性投票(binding votes)和2个无约束性投票(non-binding votes)的投票全部持赞同意见,无弃权票和反对票,投票顺利通过,这样便以全票通过的优秀表现正式成为了Apache孵化器项目。
Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
支持传统的shell任务,同时支持大数据平台任务调度:MR、Spark、SQL(mysql、postgresql、hive/sparksql)、python、procedure、sub_process。
所有流、定时操作都是可视化的,通过拖拽来绘制DAG,配置数据源及资源,同时对于第三方系统,提供api方式的操作。
任务状态、任务类型、重试次数、任务运行机器、可视化变量,以及任务流执行日志。
支持暂停、恢复、补数操作。
支持HA,去中心化的多Master和多Worker。DolphinScheduler上的用户可以通过租户和hadoop用户实现多对一或一对一的映射关系。无法做到细节的权限管控。
任务队列机制,单个机器上可调度的任务数量可以灵活配置,当任务过多时会缓存在任务队列中,不会操作机器卡死。
调度器使用分布式调度,整体的调度能力会随集群的规模线性正常,Master和Worker支持动态上下线,可以自由进行配置。
可以通过对用户进行资源、项目、数据源的访问授权。支持,可视化管理文件,及相关udf函数等。
哪种调度性能好的标准
数栖云
1.完成20多种数据源的适配调度:Mysql、Oracle、Hive、HBase、Redis、MongoDB、ODPS、Postgresql、ElasticSearch、API等;2.模块化和可插拔的插件机制;3.支持可视化工作流配置;4.支持任务告警:邮件,电话,短信;5.调度类型多样化:正常调度,空跑,暂停调度;6.支持任务优先级配置;7.调度周期配置简单:进行鼠标点击即可;8.支持工作流与工作流之间组装;9.支持工作流测试运行,在工作流查看界面中就可以完成:查看代码,运行日志,重跑,置成功并重跑下游,重跑下游等操作;10.出错任务快速定位;
ApacheOozie是一个重量级的任务调度系统,功能全面,但是部署及配置会比较麻烦,从crontab到Oozie上手会有一定难度。Azkaban是介于oozie和Crontab之间的工具,但是安全性上不如Oozie,同时如果出现失败情况,Azkaban会丢失所有的工作流,Oozie则可以继续运行。数栖云相较于以上两种工具而言,解决了配置及部署复杂的问题,易于扩展的同时,也在工作流中有了更多方便开发及运维的其他功能。
网站栏目:postgresql调度的简单介绍
转载来源:http://lswzjz.com/article/dscgoci.html