【问题标题】:How to achieve JobManager High Availability in a Mesos Flink Cluster?如何在 Mesos Flink 集群中实现 JobManager 高可用?
【发布时间】:2019-03-13 02:22:19
【问题描述】:

Flink 官方文档提供了 Standalone 和 Yarn Flink 集群的 jobmanager 高可用解决方案。但是如何使用 Mesos Flink 集群实现高可用性呢?

我了解到 Flink 依赖 Marathon 来调出一个失败的 JobManager,但它带来了一个问题:每次 jobmanager 重启时,都会重新部署作业。这对于任务关键型工作是不可接受的。这个问题有解决方法吗?或者是否有计划通过 Flink on Mesos 模式支持全高可用性?

【问题讨论】:

    标签: apache-flink mesos high-availability marathon


    【解决方案1】:

    我在 Flink 中使用了这个配置,它确实适用于两个 mesos master 和一个 slave:

    high-availability: zookeeper
    high-availability.storageDir: hdfs:///flink/ha/
    high-availability.zookeeper.quorum: 0.0.0.0:2181,10.32.0.3:2181,10.32.0.4:2181,10.32.0.5:2181
    fs.hdfs.hadoopconf: /opt/hadoop/etc/hadoop
    fs.hdfs.hdfssite: /opt/hadoop/etc/hadoop/hdfs-site.xml
    recovery.zookeeper.path.mesos-workers: /mesos-workers
    env.java.home: /opt/java
    mesos.master: 10.32.0.2:5050,10.32.0.3:5050
    

    另外,我在 Marathon 中使用了这个 JSON 文件:

    {
     "id": "flink",
     "cmd": "/home/flink-1.7.2/bin/mesos-appmaster.sh -Djobmanager.heap.mb=1024 -Djobmanager.rpc.port=6123 -Drest.port=8081 -Dmesos.resourcemanager.tasks.mem=1024 -Dtaskmanager.heap.mb=1024 -Dtaskmanager.numberOfTaskSlots=2 -Dparallelism.default=2 -Dmesos.resourcemanager.tasks.cpus=1",
    "cpus": 1.0,
    "mem": 1024,
     }
    

    希望对你有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2022-07-30
      • 1970-01-01
      • 2016-01-28
      • 2023-03-22
      • 1970-01-01
      相关资源
      最近更新 更多