Apache flink 在Mesos/Marathon上运行Flink时将自定义参数传递给docker

Apache flink 在Mesos/Marathon上运行Flink时将自定义参数传递给docker,apache-flink,mesos,marathon,Apache Flink,Mesos,Marathon,我的团队正在尝试在Mesos/Marathon上设置ApacheFlink(v1.4)集群。我们正在使用。它真的很好用 由于新的需求,任务管理器必须以扩展运行时权限启动。我们可以通过Marathon web UI轻松为app manager启用此运行时特权。但是,我们无法找到为任务管理器启用权限的方法 在Apache Spark中,我们可以在Spark的配置文件中设置Spark.mesos.executor.docker.parameters privileged=true。因此,Spark可以

我的团队正在尝试在Mesos/Marathon上设置ApacheFlink(v1.4)集群。我们正在使用。它真的很好用

由于新的需求,任务管理器必须以扩展运行时权限启动。我们可以通过Marathon web UI轻松为app manager启用此运行时特权。但是,我们无法找到为任务管理器启用权限的方法

在Apache Spark中,我们可以在Spark的配置文件中设置
Spark.mesos.executor.docker.parameters privileged=true
。因此,Spark可以将此参数传递给
docker run
命令。我想知道Apache Flink是否允许我们在启动任务管理器时将自定义参数传递给
docker run
。如果没有,我们如何使用扩展的运行时权限启动任务管理器


谢谢

不幸的是,到目前为止,这是不可能的(或者像托比指出的那样,仅对框架调度器)


我继续为该功能创建了一个Jira,这样您就可以跟踪/添加详细信息/自己贡献它:

您应该能够调整的ContainerInfo中的参数设置以支持此功能。我最终将在Docker映像中更新Flink版本…

引入了一个新参数
mesos.resourcemanager.tasks.container.Docker.parameters,其中将允许向Docker传递任意参数。

对于什么用例,您需要特权模式?您可以在Marathon应用程序定义中启用它,但我很难想象为什么需要这样做……我正在尝试在所有task manager节点上装载外部文件夹。如果没有特权模式,我们将得到错误
无法打开/dev/fuse:Operation not allowed
,如中所述。如帖子所示,解决方案将
--privileged=true
--cap add SYS_ADMIN--device/dev/fuse
传递到
docker run
@Tobi是的,我们可以在Marathon应用程序定义中启用特权模式,但它只影响Flink上的应用程序管理器。当应用程序管理器启动其任务管理器时,它不会传播其特权设置。然后,只有应用程序管理器可以装载外部文件夹,但任务管理器不能。