当前位置: 首页 > 知识库问答 >
问题:

无法在独立kubernetes-flink部署(会话模式)上通过gui提交新作业

臧友樵
2023-03-14

在独立kubernetes模式(会话集群)中部署flink后,我无法使用flink GUI上载任何新作业。单击添加新按钮并选择jar文件后,进度带结束,什么也没有发生。作业管理器日志中没有关于此的信息/错误。当我尝试上载任何文件(如文本文件)时,我收到一个错误,日志中有一个信息:

"Exception occured in REST handler: Only Jar files are allowed."

我还尝试上传假的jar(一个名为.jar的空文件),它可以工作——我可以上传这种文件。

我有一个全新的、干净的Apache Flink集群在库伯内特斯集群上运行。我使用了docker hub映像,我尝试了两个不同的版本:

*1.13.2-scala_2.12-java8, and
1.13-scala_2.11-java8*

但两个版本的结果都是一样的。

我的部署基于以下方法:

https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/resource-providers/standalone/kubernetes/

我使用了本文附录#Common cluster resource definitions#中提供的yaml文件:

flink-configuration-configmap.yaml
jobmanager-service.yaml
taskmanager-session-deployment.yaml
jobmanager-session-deployment-non-ha.yaml

我还使用入口控制器在jobManager上发布在8081上运行的GUI。

我有一个树荚(1个作业管理器,2个任务管理器),从flink日志中看不到任何错误。

有什么建议我遗漏了什么,或者什么时候发现错误吗?

共有1个答案

左丘昕
2023-03-14

问题已解决。问题是由nginx上载限制(默认值为1024kb)引起的。Flink GUI使用ingress controller和nginx在Kubernetes外部发布。当我们尝试上载大于1MB(1024kb)的作业文件时,nginx limit阻止了这一操作。大小低于此限制的作业(例如大小为0 kb的假jar)已成功上载

 类似资料:
  • 我在独立的Kubernetes(sesion)模式下运行Apache Flink,没有作业管理器HA。但我需要部署作业管理器HA,因为只有在HA模式下,Flink才能持久化(可以在作业管理器重新启动后保存作业)。Flink在专用的kubernetes命名空间中运行,我只对该命名空间拥有权限。 使用本文启用HA:https://ci.apache.org/projects/flink/flink-d

  • 我们的团队在我们的K8S集群中设置了Flink会话集群。我们选择Flink会话集群而不是作业集群,因为我们有许多不同的Flink作业,因此我们希望将Flink的开发和部署与我们的作业分离。我们的Flink设置包含: 单个JobManager作为K8S吊舱,无高可用性(HA)设置 我们在一个单独的存储库中开发工作,并在代码合并时部署到Flink集群。 现在,我们注意到在K8S中作为pod的JobMa

  • 我按照以下指南在kubernetes创建了一个flink集群:https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/deployment/native_kubernetes.html 作业管理器正在运行。当作业提交给作业管理器时,它生成了一个任务管理器pod,但任务管理器无法连接到作业管理器。

  • 是否有一本食谱,精确描述了在什么配置文件(作业管理器配置/flink-conf.yaml、任务管理器配置/flink-conf.yaml、作业管理器配置/zoo.cfg中应该更改什么,以便将Flink应用程序部署从会话模式更改为作业模式? 此外,我们通过交付给我们的anable角色在openshift上设置了flink集群,但不幸的是,它不是从anable galaxy存储库中获取的,因此我无法向

  • 我试图详细学习JavaEE7,但我在从数据库中获取记录并在JSF页面上显示它们方面遇到了问题。 我使用Wildfly10.1.0和Oracle XE11。我创建了以下数据源: 在JBoss的管理接口中的连接测试是成功的。 这是我的: 当我通过运行WildFly,并通过部署我的应用程序时,它可以工作。 当我在Eclipse中启动服务器并尝试使用相同的命令部署应用程序时,它失败了--因为我添加了JPA

  • 独立部署即为在后端运行程序,让程序跑在后台。 linux 在 linux 下面部署,我们可以利用 nohup 命令,把应用部署在后端,如下所示: nohup ./beepkg & 这样你的应用就跑在了 Linux 系统的守护进程 Windows 在 Windows 系统中,设置开机自动,后台运行,有如下几种方式: 制作 bat 文件,放在“启动”里面 制作成服务