【问题标题】:Is it possible to use dolphinscheduler without zookeeper?没有动物园管理员可以使用 dolphinscheduler 吗?
【发布时间】:2021-04-22 11:04:55
【问题描述】:

Zookeeper 在开源工作流框架 dolphinscheduler 中扮演多个角色,例如 master 和 worker 之间的心跳检测、任务队列、事件监听器和分布式锁。 dolphin-sche framework

是否可以使用数据库(mysql)替换它?主要原因是为了简化项目结构。

【问题讨论】:

    标签: workflow apache-zookeeper job-scheduling


    【解决方案1】:

    DS中的zookeeper主要用作:

    1. 任务队列,用于 master 向 worker 发送任务
    2. 锁,用于主机(masters和workers)之间的通信
    3. 事件观察者。 Master 监听 worker 添加或移除的事件

    把zk换成mysql是要花钱的。

    【讨论】:

      【解决方案2】:

      zk主要承担注册中心的职责,监控应用状态。 zk 在这方面非常成熟,是业界公认的解决方案。 MySQL如果要这样做,技术实现成本会比较大,可能达不到预期的效果。

      顺便说一句,他们的团队目前正在做注册表的 SPI 开发,在以后的版本中,也许您可​​以使用其他组件,例如 etcd,来实现类似的功能。

      【讨论】:

        【解决方案3】:

        目前,系统中的 MasterServer 和 WorkerServer 节点都使用 Zookeeper 进行集群管理和容错。此外,系统还基于 ZooKeeper 进行事件监控和分布式锁定。我们也基于 Redis 实现了队列,但是我们希望 DolphinScheduler 依赖的组件越少越好,所以我们最终去掉了 Redis 的实现。

        所以现在 DolphinScheduler 不能在没有 Zookeeper 的情况下正常工作,也许在将来。

        DolphinScheduler 系统架构:

        更多文档请参考:Official Document

        【讨论】:

          猜你喜欢
          • 2012-07-30
          • 1970-01-01
          • 1970-01-01
          • 2013-09-14
          • 2015-09-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-01
          相关资源
          最近更新 更多