You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by "zjfplayer@hotmail.com" <zj...@hotmail.com> on 2020/06/15 08:04:17 UTC

flink on yarn日志web前台动态展示问题

大家好,
       我们这边想做flink on yarn日志web前台动态展示的功能。因为没在flink restful api里面找到日志相关的api,现在的想法是这样:
            1.web前端编写flink脚本,点击运行调用web后端的执行接口
            2.web后端生成此前端任务的taskId,并调用flink驱动包(Pom依赖方式),传入前端脚本+taskId作为入口传参
            3.flink驱动包中:
                    A>通过YarnClient启动flink on yarn任务,返回yarn applicationId, flinkJobId
                    B>通过logback的自定义append,将 日志内容+taskId 发送到对应的mq
            4.web后端:
                    A>接收到yarn applicationId,flinkJobId,跟taskId映射起来
                    B>通过mq消费端消费 日志内容+taskId|yarnApplicationId|flinkJobId,通过websocket发送到对应taskId的前端界面(动态展示)
            5.web前端展示日志内容

      现在遇到个问题,我们这边想拿到yarn上面的完整日志,但是
            1.若是通过logback.xml来定义MQAppend,则无法动态传入taskId参数(已经可以通过flink context获取到,但是append里面拿不到flink context),这个是否有方式传入
            2.若是通过java代码手动配置Append(已实现),则这段代码应该加在哪里,因为光从原始的日志打印中的classPath来看,前面都是flink原生jar包里面的日志,这个我们想在这些flink jar包里面的类初始化之前,将这个append配置代码先运行

      还有是否这个方案本身就是有问题?或者flink有没有提供更加好的日志展示方式,类似spark的restful api中带有获取日志的api(静态展示或者定时刷新)?
      
            
        





zjfplayer@hotmail.com