如何在没有 DC/OS 的情况下在 Mesos 集群上安装 Flink?

How to install Flink on Mesos cluster without DC/OS?

我是 Apache Flink 的新手,我们的团队正在尝试在 Apaches Mesos 上建立一个 Apache Flink 集群。我们已经安装了具有 3 个主节点和 3 个从节点的 Apache Mesos 和 Marathon,现在我们正在尝试安装没有 DC/OS 的 Apache Flink,如此处 https://ci.apache.org/projects/flink/flink-docs-release-1.3/setup/mesos.html#mesos-without-dcos 所述。

我在这里有几个问题:

  1. 是否需要在所有节点(master和slave)上下载Flink并在所有节点上配置mesos.master?

  2. 或者我们只在一个master节点上下载flink,在那边配置mesos.master?

  3. 如果需要在所有节点上下载flink,那么flink目录的位置应该是什么,或者是否有任何脚本可以指定?

  4. 主节点上的 运行 "mesos-appmaster.sh" 是否也负责 运行 flink 库和从节点上的 类?

谢谢

  1. Do we need to download Flink on all the nodes(master and slaves) and configure mesos.master in all nodes?

    不,你不知道。实际上,这取决于您想要 运行 Flink 的方式。在您的设置中,运行 Flink 最方便的方法是 运行 使用 Marathon 并在部署期间下载二进制文件。 See this

  2. Or Shall we download flink on only one master node and configure mesos.master over there?

    由你决定。您可以 运行 在专用服务器上使用 Flink 或让 Marathon 为您完成。如果您已经拥有 Marathon,那么 运行 Flink with Marathon 会更容易。另一方面,出于调试目的和概念证明,我会推荐独立版本,您可以在其中快速更改本地计算机上的配置并查看其工作原理。创建 docker 图像或二进制文件并将它们发布到存储库中,最后在 Marathon 上部署 Flink 可能会产生更多的开销,这会减慢您的开发速度,但会保证您在生产中的安全。 Flink 不支持高可用性 (HA),因此需要 Marathon 提供基本的 HA 支持(代理崩溃时启动新的 Flink 实例)。

  3. If flink needs to be downloaded on all the nodes then what should be the location of flink directory or if there is any script where I can specify that?

    Flink不必在所有节点上下载。部署时需要时可以下载。

  4. Is running "mesos-appmaster.sh" on master node also responsible for running flink libraries and classes on slaves?

    Flink 是一个调度器,这意味着它应该在需要时在 Mesos 上启动任务和执行器。

即使不使用 DC/OS,也可以随意查看 Apache Flink DC/OS package。从本质上讲,它是一个马拉松式的应用程序定义,您可以在纯 Marathon/Mesos 上部署。 Flink 包(截至今天)不需要任何 DC/OS 特定功能。

DC/OS example 也可能提供有用的信息。