00:00
那么我们来了解一下我这个内存配置文件指定之后,在代码里面是怎么加载的呀。对吧,怎么应用的呀,怎么加载到配置项里面呢。来,我们先看job本manager的内存分配,哎,我们来到这个集群描述器,是不是启动am啊,我们说启动的时候是不是封装的一些配置项啊,哎,就是在这里做的,我们来详细瞅一眼啊。CTRL加N粘贴,哎,进来找到。Start。APP master里面就是这个巨长的代码,呃,那么是在哪一行呢?有一个这一行啊,贼长对吧,我搜索一下,咱们一起来看一下。那么是在目前我这个代码里面的978行对吧,还有我们把这边标注一下。这是什么job manager?
01:00
内存配置对吧。好,他这边呢,是用了一个job manager处理工具类,对吧,里面呢处理什么,你看这个方法名啊处理。特有的配置对吧,从哪里呢。从配置文件里面对吧。然后呢,To什么什么什么什么he对吧?好,我们点进来瞅一眼,呃,接下来呢,应该是这里啊,应该是这里。Process是不是还跳转了一层啊,从配置文件里面读取出配置对吧?好,再往下点。好,你看是不是创建memory处理。配置啊,然后呢,用了一个这个啊,用了一个这个,我们点一下,我看看能不能找到啊。
02:07
呃,看咱们进入到这个方法之后啊,他是不是做了一个判断呢?啊,呃,他什么呢。你看,如果我们的配置文件包含了什么?这是什么flink总内存吧,那下面另外一个分支,你看配置文件是否有哪个配置啊。这是不是进程内存的配置法呀?这个配的是flink内存的配法,对不对啊,它区分了不同的模式啊,区分不同模式注意一下。如果配置文件配置的是呃,Flink内存。的方式啊走。那下面这个呢。如果配置文件配置的是啊。
03:04
进程内存的方式对吧,就走这里啊,这个区别咱们之前也讲过了,是否包含JVM开销啊好,呃,那假设咱们看一个。这个或者这个都行,我们看这个吧,随便看一个啊,就简单了解一下啊,看这个看这个flink内存的点。点进来之后呢,我们这有一个方法。这个单词是什么意思呢?来源自获得起源对吧?哎,源自什么呢?Flink的内存,那应该就是这个对吧,我抽烟啊,是不是啊。对吧。
04:05
看是不是这一行啊。获取这个内存配置啊,这边传的是什么total flink memory size是flink内存呢啊。那咱们点进去。CTRLH。那其实你看是不是分了两种类型啊,一个job manager,一个task,好了搜索这个方法再往里看。好。这边是不是做了一个判断啊。跟一个堆内存大小做一个判断对吧?Compare to啊,那你肯定不能超过堆堆的大小吧,对不对,好。那么后面呢?我们看看啊,Create,你看是不是创建job managerlink memory是不是那个类啊,咱们最开始看的类上面的注释是不是有给我们画了一个图啊,啊就是这个东西,Create这个点。
05:06
嗯,然后呢,你看是不是六了这个day啊。来,我们再点。是不是来到了这里?对吧,啊,这个就j job manager的内存模型,然后呢,是把这两个东西做一个赋值啊,对内JVM内存,还有对外内存做一个赋值,对吧,那在外面对应的就这两个参数啊,这个就是整一个呃过程啊,怎么把咱们刚才那个内内存结构的内把它关联起来啊。那我们顺便你看一下。Task manager task manager,呃,它是在哪指定的,我们是不是。有一个申请新的节点的时候啊。请求资源的时候,在这里面诶有一个类似,你看是不是很类似啊,啊这个就比较看的简单一点,我们找这个CTRLN。
06:01
粘贴找。然后找什么方法呢?请求新的节点。啊,请求新的节点。这个是之前看过的,对吧,请求新节点,那么在这里面呢。哎,这一行看到没有。是不是还是这个方法呀,处理特有的配置从哪里啊?从worker的资源指定上面啊,资源指定,那我们一点点完之后,你看这个就比较直白了,同学们。这个就是来点过来往上翻,不就是这个类吗。对吧,他现在就是用的这种内存模型啊。然后他得到了这个叫啥呀。是程内存呢啊,这个不是进程内存对吧?哎,不是进程内存。那如果需要进程内存怎么办?是不是要加上JVM啊,所以你看他这一步做了什么。
07:05
JVM的圆空间跟执行开销,它是不是获取一下,如果咱们配置的是总内存,那它是不是这个加上这个。对不对啊。啊,就这么一个过程啊,咱们简单了解一下啊,那就不继续追了啊,不继续追了。
我来说两句