Docker中flink-cluster-jobmanager-1运行失败解决方法

这篇具有很好参考价值的文章主要介绍了Docker中flink-cluster-jobmanager-1运行失败解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

报错日志

这是flink-cluster-jobmanager-1报错日志
2023-12-07 23:34:26 [ERROR] The execution result is empty.
2023-12-07 23:34:25 Starting Job Manager
2023-12-07 23:34:26 [ERROR] Could not get JVM parameters and dynamic configurations properly.
2023-12-07 23:34:26 [ERROR] Raw output from BashJavaUtils:
2023-12-07 23:34:26 INFO [] - Loading configuration property: jobmanager.rpc.address, jobmanager
2023-12-07 23:34:26 INFO [] - Loading configuration property: blob.server.port, 6124
2023-12-07 23:34:26 INFO [] - Loading configuration property: query.server.port, 6125
2023-12-07 23:34:26 INFO [] - Loading configuration property: query.server.port, 6125
2023-12-07 23:34:26 Exception in thread "main" org.apache.flink.configuration.IllegalConfigurationException: JobManager memory configuration failed: Either required fine-grained memory (jobmanager.memory.heap.size), or Total Flink Memory size (Key: 'jobmanager.memory.flink.size' , default: null (fallback keys: [])), or Total Process Memory size (Key: 'jobmanager.memory.process.size' , default: null (fallback keys: [])) need to be configured explicitly.
2023-12-07 23:34:26 at org.apache.flink.runtime.jobmanager.JobManagerProcessUtils.processSpecFromConfigWithNewOptionToInterpretLegacyHeap(JobManagerProcessUtils.java:78)
2023-12-07 23:34:26 at org.apache.flink.runtime.util.bash.BashJavaUtils.getJmResourceParams(BashJavaUtils.java:98)
2023-12-07 23:34:26 at org.apache.flink.runtime.util.bash.BashJavaUtils.runCommand(BashJavaUtils.java:69)
2023-12-07 23:34:26 at org.apache.flink.runtime.util.bash.BashJavaUtils.main(BashJavaUtils.java:56)
2023-12-07 23:34:26 Caused by: org.apache.flink.configuration.IllegalConfigurationException: Either required fine-grained memory (jobmanager.memory.heap.size), or Total Flink Memory size (Key: 'jobmanager.memory.flink.size' , default: null (fallback keys: [])), or Total Process Memory size (Key: 'jobmanager.memory.process.size' , default: null (fallback keys: [])) need to be configured explicitly.
2023-12-07 23:34:26 at org.apache.flink.runtime.util.config.memory.ProcessMemoryUtils.failBecauseRequiredOptionsNotConfigured(ProcessMemoryUtils.java:129)
2023-12-07 23:34:26 at org.apache.flink.runtime.util.config.memory.ProcessMemoryUtils.memoryProcessSpecFromConfig(ProcessMemoryUtils.java:86)
2023-12-07 23:34:26 at org.apache.flink.runtime.jobmanager.JobManagerProcessUtils.processSpecFromConfig(JobManagerProcessUtils.java:83)
2023-12-07 23:34:26 at org.apache.flink.runtime.jobmanager.JobManagerProcessUtils.processSpecFromConfigWithNewOptionToInterpretLegacyHeap(JobManagerProcessUtils.java:73)
2023-12-07 23:34:26 ... 3 more

解决方法

错误消息指出了两个问题:

1. 配置中的 JVM Overhead 大小不在允许的范围内。
2. 需要明确设置 JobManager 的内存配置。

对于第一个问题,`Derived JVM Overhead size (128.000mb)` 不在配置的范围 `[192.000mb, 1024.000mb]` 内。这意味着我们需要调整 JobManager 的内存配置,以确保 JVM Overhead 在允许的范围内。

对于第二个问题,错误消息建议我们需要明确设置 JobManager 的内存配置。我们需要确保在 `flink-conf.yaml` 中明确设置了 `jobmanager.memory.flink.size` 或 `jobmanager.memory.process.size`。

基于这些信息,这里是一个更新后的 `flink-conf.yaml` 配置示例,其中包括了对 JVM Overhead 的配置:

```yaml
jobmanager.rpc.address: jobmanager
jobmanager.rpc.port: 6123
blob.server.port: 6124
query.server.port: 6125
jobmanager.memory.process.size: 1600m # 增加 JobManager 进程内存大小以满足 JVM Overhead 要求
jobmanager.memory.heap.size: 1024m # 增加 JobManager 堆内存大小
taskmanager.memory.process.size: 1728m
taskmanager.memory.managed.size: 512m
taskmanager.numberOfTaskSlots: 2
parallelism.default: 2
```

在这个配置中,我增加了 `jobmanager.memory.process.size` 到 `1600m` 以确保 JVM Overhead 在 `[192mb, 1024mb]` 的范围内。同时,我也增加了 `jobmanager.memory.heap.size` 到 `1024m`。

请根据您的实际需要调整这些值,这只是一个示例。

完成这些更改后,您需要重新启动 Docker Compose 服务:

```bash
docker-compose down
docker-compose up -d
```

确保 Docker Compose 配置文件中没有设置 `FLINK_PROPERTIES` 环境变量,因为我们已经在 `flink-conf.yaml` 文件中直接提供了所有必要的配置。如果您仍然遇到问题,请检查您的 `flink-conf.yaml` 文件是否正确挂载到了容器中,并且没有语法错误。文章来源地址https://www.toymoban.com/news/detail-769619.html

配置文件

version: '2.4'

networks:
  flink-net:

services:
  jobmanager:
    image: flink:1.14.0
    command: jobmanager
    ports:
      - 8081:8081
    volumes:
      - D:/flink/conf:/opt/flink/conf
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
      - JOB_MANAGER_RPC_PORT=6123
      - KAFKA_BROKERS=kafka1:9092,kafka2:9093,kafka3:9094
    networks:
      - flink-net

  taskmanager1:
    image: flink:1.14.0
    command: taskmanager
    depends_on:
      - jobmanager
    volumes:
      - D:/flink/conf:/opt/flink/conf
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
      - JOB_MANAGER_RPC_PORT=6123
    networks:
      - flink-net

  taskmanager2:
    image: flink:1.14.0
    command: taskmanager
    depends_on:
      - jobmanager
    volumes:
      - D:/flink/conf:/opt/flink/conf
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
      - JOB_MANAGER_RPC_PORT=6123
    networks:
      - flink-net

  taskmanager3:  # 新增加的 TaskManager 服务
    image: flink:1.14.0
    command: taskmanager
    depends_on:
      - jobmanager
    volumes:
      - D:/flink/conf:/opt/flink/conf
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
      - JOB_MANAGER_RPC_PORT=6123
    networks:
      - flink-net

D:\flink\conf

jobmanager.rpc.address: jobmanager
jobmanager.rpc.port: 6123
blob.server.port: 6124
query.server.port: 6125
jobmanager.memory.process.size: 1600m # 增加 JobManager 进程内存大小以满足 JVM Overhead 要求
jobmanager.memory.heap.size: 1024m # 增加 JobManager 堆内存大小
taskmanager.memory.process.size: 1728m
taskmanager.memory.managed.size: 512m
taskmanager.numberOfTaskSlots: 2
parallelism.default: 2

到了这里,关于Docker中flink-cluster-jobmanager-1运行失败解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Apache Hudi初探(二)(与flink的结合)--flink写hudi的操作(JobManager端的提交操作)

    Apache Hudi初探(二)(与flink的结合)--flink写hudi的操作(JobManager端的提交操作)

    在Apache Hudi初探(一)(与flink的结合)中,我们提到了 Pipelines.hoodieStreamWrite 写hudi文件 ,这个操作真正写hudi是在 Pipelines.hoodieStreamWrite 方法下的 transform(opName(\\\"stream_write\\\", conf), TypeInformation.of(Object.class), operatorFactory) ,具体分析一下写入的过程。 对于 transform(opName(\\\"stream_write\\\", conf), Ty

    2024年02月12日
    浏览(14)
  • docker运行redis容器失败

    docker运行redis容器失败

    原创文章,转载请标注并附上链接 http://t.csdn.cn/s4dmD 机器环境是vmware+ubuntu20.04,docker配置redis,出现容器无法启动,即启动失败 用docker logs redis(容器名或id)查看日志 发现是无法打开配置文件的问题 正确启动redis的命令 其中要注意的地方 1、是让docker有权限去读取配置文件 2、

    2024年02月16日
    浏览(9)
  • docker运行redis镜像失败:闪退

    docker运行redis镜像失败:闪退

    从docker镜像仓库上拉取最新的redis镜像,运行镜像后,发现服务秒退出,查看运行日志,报错:Fatal:can not initialize background jobs: 后面查了多方资料,意识到可能是我的Linux环境和docker环境可能不支持最新版本的redis,因为我拉取的redis版本是7.0+,所以我打算拉取redis:5.0版本的

    2024年02月14日
    浏览(12)
  • Docker环境 运行Kafka容器失败

    Docker环境 运行Kafka容器失败

    网上docker 安装kafka环境教程大多数会采用下面命令 –name=“容器新名字” 为容器指定一个名称; -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行); -p: 指定端口映射,小写p 启动kafka容器时发现容器并没有正常启动,通过查看日志发现提示: 查看日志命令 日志

    2024年02月11日
    浏览(14)
  • 【Flink】基于Docker下的Flink运行环境搭建(Mac)

    【Flink】基于Docker下的Flink运行环境搭建(Mac)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 创建一个本地运行环境是提高开发效率和便捷进行代码调试的关键。我们将一起构建一个本地环境,专门用于执行Flink任务。 此环境以Flink 1.17.2版本为基础,采用Docker技术搭建而成。通过这种方式,我们

    2024年02月19日
    浏览(46)
  • 【MAC】 M2 brew安装 docker 运行失败 解决

    【MAC】 M2 brew安装 docker 运行失败 解决

    MAC 安装 brew install --cask docker 之后一直显示docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. 网上看了一些文章 发现 这个不适用于M2 所以要从官网上下载    docker 安装成功 

    2024年02月13日
    浏览(12)
  • 【Kafka】Kafka客户端认证失败:Cluster authorization failed.

    【Kafka】Kafka客户端认证失败:Cluster authorization failed.

    kafka客户端是公司内部基于spring-kafka封装的 spring-boot版本:3.x spring-kafka版本:2.1.11.RELEASE 集群认证方式:SASL_PLAINTEXT/SCRAM-SHA-512 经过多年的经验,以及实际验证,配置是没问题的,但是业务方反馈用相同的配置,还是报错! 封装的kafka客户端版本过低,高版本的配置项:secu

    2024年01月17日
    浏览(13)
  • Flink启动Yarn Session报错:Couldn‘t deploy Yarn session cluster

    Flink启动Yarn Session报错:Couldn‘t deploy Yarn session cluster

    Flink版本:1.1.3 启动 Yarn Session 的语句: bin/yarn-session.sh -nm test -d 报错截图如下: 仅通过ERROR信息只能知道是yarn session集群未能正常启动,因此继续向下查找: 找到报错信息的Caused by部分: 报错信息为: Permission denied: user=root, access=WRITE,inode=\\\"/user\\\":why:supergroup:drwxr-xr-x 可以看到

    2024年01月16日
    浏览(14)
  • Docker 搭建Redis Cluster 集群

    Docker 搭建Redis Cluster 集群

    环境: centos7 redis:7.0.5 三主三从,六个节点 一、下载redis镜像 docker pull redis:7.0.5 二、创建虚拟网卡 网卡类型为bridge桥接类型 三、准备redis配置文件 redis.conf 配置解释: port :节点端口; requirepass :设置密码,访问时需要验证 masterauth: 设置主从复制密码 protected-mode :保护模

    2024年02月09日
    浏览(18)
  • 解决ES集群启动失败 skipping cluster bootstrapping as local node does not match bootstrap requirements:[xxx]

    异常信息 这个错误信息网上有很多解决方案,但都没说明一点,就是由于账号密码配置而导致的连接失败 正常根据网上资源和官方文档介绍后,我们会进行以下配置 原配置信息 我们目前集群信息是一主一从,没办法白嫖的阿里云机子才 2g 只能这样子配置 集群名称: es-kk

    2024年02月04日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包