zoukankan      html  css  js  c++  java
  • 【Flink系列十】Flink作业提交过程的调试和诊断

    报错记录

    提交作业的时候,遇到一些坑,报错具有迷惑性。

    413 Request Entity Too Large. Try to raise [rest.client.max-content-length]

    Caused by: org.apache.flink.runtime.rest.util.RestClientException: 413 Request Entity Too Large. Try to raise [rest.client.max-content-length]
    	at org.apache.flink.runtime.rest.RestClient$ClientHandler.channelRead0(RestClient.java:565)
    	... 31 more
    
    

    分析

    此问题调试了半天结果发现
    问题不在rest.client.max-content-length
    亦不在rest.server.max-content-length
    也不是session-cluster没有重启。

    因为本次 jobGraph 以及要上传的jar,总计才6MB左右。

    调试方法

    经过探索,以及上一篇【Flink系列九】Flink 作业提交遇到的问题记录以及原理内的自我启发,
    最终找到了调试Flink作业提交的方法。

    调试JobManager或者TaskManager

    在Flink的配置文件conf/flink-conf.yaml

    env.java.opts.jobmanager: '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5123'
    env.java.opts.taskmanager: '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5124'
    

    ※加到提交的命令行的最前:

    JVM_ARGS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5125" /flink-1.13.0-cdh5.12.1-slankka/bin/flink run ...
    

    那么在IDEA中,打开 JVM Remote Debug配置即可,填好IP和端口,打开Debug即可。

    • 作业提交过程会打印一行:
    Listening for transport dt_socket at address: 5125
    

    打印完毕后,立即连接即可。

    结论

    上述问题,经过Debug,没有找到JobManager停留在对应断点。但意外发现,Flink 提交过程中 RestClient的端口为8081,不符合服务器上的配置。

    于是立即修改 flink-conf.yaml,

    rest.bind-port: 8086-8090
    rest.port: 8086
    

    ※这很重要,客户端需要rest.port,Environment初始化的时候,才能生成正确的客户端。

    默认rest.port是8081,此时服务器8081由其他服务所占用。

    JobManager的端口,由上一条配置给出范围,8086,即对应 rest.port。

    特定场景下出现此错误

    由于(其他需求导致)服务端和客户端使用的配置文件不同,因此导致此差异,引发端口错误。并抛出 413 Request Entity Too Large错误,实在是具有迷惑性。

    ※重申解决方法,需要保证客户端和服务端的rest.host以及rest.port是一样的。
    因此,Session-Cluster模式下,尤其要注意这一点。

  • 相关阅读:
    计算机通信网
    程序员面试——数学和概率
    位移枚举
    OC中的宏定义
    配置Xcode的Device Orientation、AppIcon、LaunchImage
    Xcode中的Project和Target
    NSObject
    CG
    UICollectionViewLayout
    UICollectionView
  • 原文地址:https://www.cnblogs.com/slankka/p/15496861.html
Copyright © 2011-2022 走看看