• 布兰特
    2020-08-31
    老师 我想读Flink源码,应该从哪里读起啊?

    作者回复: 老师下个月会出一本源码解析的书,到时候可以关注下

    共 6 条评论
    10
  • 泊浮目
    2020-08-29
    张老师,想请教下:同样是网络通信,我注意到JobManager和TaskManager通过akka来通信,而TaskManager之间的数据通信却是用Netty。请问为什么要这么做呢?如果没什么特殊理由的话,一定是统一用一种技术栈来做通信更好吧?

    作者回复: JobManager和TaskManager之间RPC通信只是为了发送一些控制信息,例如控制Task的启停,以及TaskManager的注册等,以及组件之间的HeartBeat操作等。而TaskManager之间不会直接进行RPC通信,TM之间主要是数据的交互,就是MapReduce中Shuffle,对数据的交互走的是基于Netty实现的Network Stack。 其实Akka问题还是比较多的,尤其是版本问题,而在Flink里面就是基于Flink实现了一下RPC通信功能,这里社区后期进行统一的,有可能就像Spark框架把Akka去掉,直接用Netty实现RPC即可,当然这个动作变动的比较大,影响面比较广,因此可能会放在未来版本中实现。

    
    6
  • mini希
    2020-09-11
    老师好,请问每次执行app-jar,是否每次都要把app用到的所有jar传输到jm和tm上面,如果app用到的jar比较多,会不会在传输上花费很长时间,如何优化?

    作者回复: 不管是在哪种模式下都需要上传Jar包,只不过App模式下Jar包可以提前传在分布式HDFS中,这样Client就不需要每次上传了,JM可以直接从HDFS上获取Jar包,本质上就是降低上传开销

    共 3 条评论
    1
  • Geek_0d79dd
    2020-09-06
    jobgraph不会拆分吧,jobgraph只会把多个节点合并成operatorChain,executionGraph才会拆成并行化执行。

    作者回复: 这块后面会在DataStream章节中详细讲解

    共 2 条评论
    1
  • 阿朱
    2020-08-31
    我有一次提交job的时候遭遇整个虚机无响应,后台查看到是当时IOPS超高,等过了两三分钟之后才有响应,后来再次使用同一个jar提交没有再出现问题,想问一下老师这种问题有可能是在什么环节出现了问题

    作者回复: 这个问题还是要看Client端主机具体情况的,通常情况下Client提交Jar包到Cluster的时候,最大的IO消耗就是Jar包的传输,Jar包越大传输时间IO也越高。传输的过程中还要看Session集群的情况,如果RPC网络连接出现异常重连等情况,会Block整个客户端的提交过程,这个时候会有重新提交的过程,IO通常也会很高,因此还是要具体问题具体分析,可以把Master的日志拿下来看看,里面针对Dispatcher的日志进行分析,看看有什么具体的原因。 谢谢

    
    1
  • lujg
    2020-08-27
    Application 模式下,client的功能是不一致的吧?

    作者回复: Application模式主要解决的是Client负载的问题,包括JobGraph提交以及Jar ship的性能问题。另外Application更像Spark里面的Cluster模式,区别就是Driver是在Client本地还是在Cluster上,但是需要注意Spark里面的Driver是要和Executor之间交互的,在Flink里面只会通过JobManager和TaskManager交互,Client仅仅只是编译性的工作,生成JobGraph和提交作业,以及对Job的运行状况进行监控,所以还是和Spark有些区别的。

    
    1
  • 醉月竹影
    2020-12-26
    老师 您关于源码的书出了吗

    作者回复: 预计一月份,敬请期待

    
    
  • 林润娥是我女朋友
    2020-10-15
    老师 不会java和scala 会python 这们课可以学好吗

    作者回复: 原理都是一样的,接口基本上都是些语法上的区别,没什么问题的,加油,后面我们看有时间把Python的接口讲一下

    
    
  • D.
    2020-10-14
    老师的语速太快了,flink小白来说,很难跟进呀

    作者回复: 东西太多了,时间又比较有限,但是还是想尽可能的把Flink的很多精华讲给大家,后面可以适当的放慢点哈

    
    
  • 小乙哥
    2020-08-30
    期待后面课程能够有这样一个例子:具体任务-》client处理过程-》生成的JobGraph是什么样子-》JobManger提交的Task-》TaskManger具体执行时候的形态。可能对这些不了解,所以这个很重要的宏观架构介绍,吸收体会不是特别深

    作者回复: 这里先有一个大概的认识,Runtime章节会对这块进行深入的介绍

    共 2 条评论
    