Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!

这篇具有很好参考价值的文章主要介绍了Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

DolphinScheduler是一个开源的分布式任务调度系统,拥有分布式架构、多任务类型、可视化操作、分布式调度和高可用等特性,适用于大规模分布式任务调度的场景。目前DolphinScheduler支持的元数据库有Mysql、PostgreSQL、H2,如果在业务中需要更好的性能和扩展性,可以在DolphinScheduler中使用OceanBase数据库作为元数据库进行替换。节点数量和规模可以自由调整,实现无缝扩展和缩减。

一. OceanBase数据库

OceanBase数据库是阿里巴巴自主研发的分布式关系型数据库,具有以下特点:

  1. 分布式架构:OceanBase采用分布式架构,可水平扩展,支持PB级别的数据存储和处理。

  2. 高可用性:OceanBase采用分布式副本机制,实现数据的冗余备份,保证在节点故障时仍能提供可用的服务。

  3. 高性能:OceanBase采用多维度优化技术,包括数据存储、查询优化、分布式事务等方面,可大幅提升数据库的性能。

  4. 强一致性:OceanBase采用基于Paxos协议的多副本一致性算法,实现强一致性的分布式事务处理。

  5. 兼容SQL:OceanBase支持标准的SQL语言,包括DDL、DML和DQL等命令。

  6. 可扩展性:OceanBase支持在线扩容和缩容,可根据业务需求自由调整节点数量和规模。

  7. 安全性:OceanBase采用多层安全策略,包括密码加密、数据加密、访问控制等,保障数据库的安全性。

总之,OceanBase数据库具有高可用、高性能、强一致性等特性,适用于大规模、高并发的业务场景。

二. DolphinScheduler支持OceanBase数据源

在DolphinScheduler中使用OceanBase做数据源在调度业务上的优势:

  1. 高性能:OceanBase可以处理大规模数据,而且在数据存储和处理方面都采用了多维度优化技术,所以相对于其他数据库,其有更高的性能表现,可以快速地处理数据。

  2. 高可靠性:OceanBase是一个分布式数据库,通过多节点的数据冗余备份,当某个节点发生故障时能够自动切换,保证服务的高可靠性。

  3. 事务处理:如果业务需要原子性的操作,OceanBase可以提供强一致性的分布式事务处理,从而保证数据不会出现不一致的情况。

  4. 分布式调度:DolphinScheduler自身是分布式任务调度系统,和OceanBase分布式架构相互匹配,可以充分利用Oceanbase的分布式特性,提供更高效率的调度服务。

  5. 可扩展性:DolphinScheduler和OceanBase都支持在线扩容和缩容,可以根据业务需求自由调整节点数量和规模,实现无缝扩展和缩减。

使用OceanBase作为数据源可以带来高性能、高可靠性、高安全性和强大的扩展性,和DolphinScheduler结合使用,将会为调度业务的稳定性、可靠性、可扩展性带来更优秀的表现。

三. OceanBase具体兼容Mysql的哪些特性

  1. 数据类型:OceanBase支持MySQL的常见数据类型,如整数、浮点数、日期和时间、字符串等。

  2. SQL语法:OceanBase支持MySQL的常见SQL语句,如SELECT、INSERT、UPDATE、DELETE等命令。

  3. 存储引擎:OceanBase支持InnoDB存储引擎,从而可以兼容MySQL的事务和锁定特性。

  4. 存储过程:OceanBase支持MySQL的存储过程特性,包括存储过程、存储函数和存储触发器等。

  5. 工具和驱动:OceanBase支持MySQL的常见工具和驱动,如MySQL Workbench、Navicat和JDBC等。

四. DolphinScheduler更换为OceanBase元数据库的步骤

  1. 创建OceanBase数据源,包括主机地址、端口号、用户名、密码等信息;

阿里公有云:在阿里云官网申请公有云的OceanBase实例,申请成功后可在控制台-云数据库OceanBase版-实例列表页面看到状态为运行中的实例:

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

进入实例可以看到数据库实例和下方的代理私网、公网地址;右上角可以新建数据库和新建账号,非超级账号需要在账号管理页面修改权限才可访问数据库,此账号和密码会作为服务内连接OceanBase数据库的数据库账号密码: Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

创建成功后在面板登陆数据库或使用其他数据源连接工具或使用命令行登陆数据库并执行SQL验证是否可用: Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

  1. 进入OceanBase后创建DolphinScheduler数据库,执行表初始化SQL文件: dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql;

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

  1. 修改DolphinScheduler的配置文件,将原有的MySQL数据源替换成新的OceanBase数据源;

本地启动Api服务:修改dolphinscheduler-api模块配置文件中的数据库地址

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

本地启动Standalone服务:修改dolphinscheduler-standalone-server模块配置文件中的数据库地址

同上

服务器部署:修改 /apache-dolphinscheduler-3.1.2-bin/bin/env/dolphinscheduler_env.sh中的数据库地址

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

  1. 启动DolphinScheduler,正常访问登陆并其他模块都可正常操作即可验证OceanBase元数据库连接成功且正常使用:

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

五. 切换过程中需要注意哪些事项

1.外键约束

在使用DolphinSchedulerSQL文件dolphinscheduler_mysql.sql初始化数据库时,SQL的开始会设置 SET FOREIGN_KEY_CHECKS=0 不检查外键约束,需要注意的是OceanBase社区版4.0之前是不支持DDL语句的外键约束的。例官方版本V3.1.1,

所以在这里我们要注意下OceanBase的版本兼容性。

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

2. 数据迁移后插入报错

报错信息如下:

报错信息

Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at com.mysql.cj.protocol.a.NativePacketPayload.readInteger(NativePacketPayload.java:398)
    at com.mysql.cj.protocol.a.NativePacketPayload.readString(NativePacketPayload.java:605)
    at com.mysql.cj.protocol.a.NativeServerSessionStateController$NativeServerSessionStateChanges.init(NativeServerSessionStateController.java:112)
    at com.mysql.cj.protocol.a.result.OkPacket.parse(OkPacket.java:66)
    at com.mysql.cj.protocol.a.NativeProtocol.readServerStatusForResultSets(NativeProtocol.java:1691)
    at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:116)
    at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:48)
    at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1600)
    at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1654)
    at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1000)
    at com.mysql.cj.NativeSession.execSQL(NativeSession.java:666)
    at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:930)
    ... 157 common frames omitted

这种情况在切换为OceanBase数据库之后在数据插入时可能会发生。初始化数据时部分数据会带着ID将数据插入表中,之后再次插入数据此时默认主键自增从0开始,这时会出现默认自增步长从10001开始的情况如下:

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!,大数据

六. 总结

DolphinScheduler本身是一个非常强大的分布式调度系统,它可以帮助您轻松管理和调度大规模的数据任务。而当它与OceanBase结合使用时,它可以为您提供更具弹性、更安全、更可靠的数据存储方式。这种组合可以帮助您更好地解决大规模数据任务管理和调度的问题,同时提高您的工作效率和任务应用的可靠性。因此,如果您正在使用DolphinScheduler来管理和调度数据任务,强烈建议您尝试使用OceanBase作为其元数据库,让您的任务应用变得更加高效和可靠。

本文由 白鲸开源科技 提供发布支持!文章来源地址https://www.toymoban.com/news/detail-654425.html

到了这里,关于Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Apache DolphinScheduler:深入了解大数据调度工具

    Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的

    2024年01月22日
    浏览(46)
  • 【用户案例】太美医疗基于Apache DolphinScheduler的应用实践

    大家好,我叫杨佳豪,来自于太美医疗。今天我为大家分享的是Apache DolphinScheduler在太美医疗的应用实践。今天的分享主要分为四个部分: 使用历程及选择理由 稳定性的改造 功能定制与自动化部署 运维巡检与优化 公司介绍 我们是一家专注于生命科学产业的运营平台公司,

    2024年04月15日
    浏览(35)
  • 如何快速在 Apache DolphinScheduler 新扩展一个任务插件?

    作者 | 代立冬 编辑 | Debra Chen Apache DolphinScheduler 是现代数据工作流编排平台,具有非常强大的可视化能力,DolphinScheduler 致力于使数据工程师、分析师、数据科学家等数据工作者都可以简单轻松地搭建各种数据工作流,让数据处理流程更简单可靠。 DolphinScheduler 非常易于使用

    2024年02月08日
    浏览(41)
  • Apache DolphinScheduler的资源中心开启HDFS功能

    资源中心通常用于上传文件、UDF函数。 可以选择上传到Hadoop集群 DolphinScheduler的资源中心默认是不能往HDFS上传文件的,需要我们配置进行开启 注意:如果Hadoop集群的NameNode配置了HA的话,需要将Hadoop集群下的core-site.xml和hdfs-site.xml复制到dolphinscheduler/conf目录下 重启DolphinSched

    2023年04月09日
    浏览(35)
  • Apache DolphinScheduler——开源大数据调度器神器(国人之光)

    本文已参与「新人创作礼」活动,一起开启掘金创作之路。    Apache DolphinScheduler(海豚调度) ,国人之光,是许多国人雷锋开源在Apache的顶级项目,主要功能就是负责任务的调度处理。 1.1 概 念    Apache DolphinScheduler 是一个分布式去中心化,易扩展的可视化DAG工作流任务调度

    2024年02月15日
    浏览(42)
  • Apache Dolphinscheduler 最新 3.1.4 概述和安装(1)

    Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的

    2024年02月07日
    浏览(54)
  • Apache Dolphinscheduler如何不重启解决Master服务死循环

    Apache Dolphinscheduler作为一个开源的调度平台,目前已经更新到了3.X版本,4.0版本也已经呼之欲出。3.0版本作为尝鲜版本,新添加了许多的功能,同时也存在非常多的隐患,本人使用3.0版本作为生产调度也踩了很多坑,到现在依然存在很多难以解决的问题,所以建议小伙伴们尽

    2024年02月06日
    浏览(41)
  • 【干货】Apache DolphinScheduler2.0升级3.0版本方案

    因项目需要使用数据质量模块功能,可以为数仓提供良好的数据质量监控功能。故要对已有2.0版本升级到3.0版本以上,此次选择测试了3.0.1 和 3.1.1 两个版本,对进行同数据等任务调度暂停等操作测试,最后选择3.0.1 版本 原因: 1. 3.1.1 在测试sql任务时 ,同时启动上百sql 任务

    2024年03月26日
    浏览(48)
  • Apache DolphinScheduler 如何实现自动化打包+单机/集群部署?

    Apache DolphinScheduler 是一款开源的分布式任务调度系统,旨在帮助用户实现复杂任务的自动化调度和管理。DolphinScheduler 支持多种任务类型,可以在单机或集群环境下运行。下面将介绍如何实现 DolphinScheduler 的自动化打包和单机/集群部署。 所需环境:maven、jdk 执行以下shell完成

    2024年02月09日
    浏览(37)
  • 重磅预告!Apache DolphinScheduler 3.2.0 新功能“剧透”

    近期,Apache DolphinScheduler 将迎来 3.2.0 版本的到来。本次发版为大版本发布,将会带来众多大家期待已久的新功能和新改进。为了让用户提前感知到新版本的变化,社区特意提前“剧透”新版本的重要 feature,并制作了视频进行介绍。 在之前的版本中,用户部署完毕后必须手动

    2024年02月15日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包