Flink集群Standalone启动脚本(源码分析)
整个Flink集群的角色分为Jobmanager和TaskManager
以Standalone为例来看一下脚本里面是怎样启动集群的
找到源码的dist这里面包含了启动的脚本文件

standalone模式下我们通过start-cluster.sh这个脚本启动
来看下里面具体做了什么

在最后调用了jobmanager.sh start 这个脚本和config.sh 中的TMSlaves 这个方法,分别启动了jobmanager和taskmanager
先看一下Jobmanager
在jobmanager.sh中导入了一些配置文件参数以外,脚本在最后执行了


到了这个文件flink-daemon.sh


可以看到已经找到这样一个jobmanager的入口类org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint 了(1.6之前这里有较大的变化,详细的可以自己去研究一下)
后面就是jobmanager的具体启动了
现在在来看看TaskManager的启动方法config.sh 中 TMSlaves start

taskmanager.sh中


这里就和jobmanager的一样了,到了daemon.sh

这就是taskmanagaer的入口类org.apache.flink.runtime.taskexecutor.TaskManagerRunner了
整个集群jobmanager和taskmanager就启动起来了
后面角色的具体启动后期会随缘更新
来看一下window下的启动


可以看到也差不多,都是走的这两个类作为启动类
Flink集群Standalone启动脚本(源码分析)的更多相关文章
- 分布式缓存技术之Redis_Redis集群连接及底层源码分析
		
目录 1. Jedis 单点连接 2. Jedis 基于sentinel连接 基本使用 源码分析 本次源码分析基于: jedis-3.0.1 1. Jedis 单点连接 当是单点服务时,Java ...
 - supervisor启动worker源码分析-worker.clj
		
supervisor通过调用sync-processes函数来启动worker,关于sync-processes函数的详细分析请参见"storm启动supervisor源码分析-superv ...
 - 涨姿势:Spring Boot 2.x 启动全过程源码分析
		
目录 SpringApplication 实例 run 方法运行过程 总结 上篇<Spring Boot 2.x 启动全过程源码分析(一)入口类剖析>我们分析了 Spring Boot 入 ...
 - Spring Boot 2.x 启动全过程源码分析
		
Spring Boot 2.x 启动全过程源码分析 SpringApplication 实例 run 方法运行过程 上面分析了 SpringApplication 实例对象构造方法初始化过程,下面继续 ...
 - worker启动executor源码分析-executor.clj
		
在"supervisor启动worker源码分析-worker.clj"一文中,我们详细讲解了worker是如何初始化的.主要通过调用mk-worker函数实现的.在启动worke ...
 - ZK集群的Leader选举源码阅读
		
前言 ZooKeeper对Zab协议的实现有自己的主备模型,即Leader和learner(Observer + Follower),有如下几种情况需要进行领导者的选举工作 情形1: 集群在启动的过程 ...
 - Nimbus<二>storm启动nimbus源码分析-nimbus.clj
		
nimbus是storm集群的"控制器",是storm集群的重要组成部分.我们可以通用执行bin/storm nimbus >/dev/null 2>&1 &a ...
 - storm启动nimbus源码分析-nimbus.clj
		
nimbus是storm集群的"控制器",是storm集群的重要组成部分.我们可以通用执行bin/storm nimbus >/dev/null 2>&1 &a ...
 - Flink中Idle停滞流机制(源码分析)
		
前几天在社区群上,有人问了一个问题 既然上游最小水印会决定窗口触发,那如果我上游其中一条流突然没有了数据,我的窗口还会继续触发吗? 看到这个问题,我蒙了???? 对哈,因为我是选择上游所有流中水印最小 ...
 
随机推荐
- C#中线程间操作无效: 从不是创建控件 txtBOX 的线程访问它。
			
delegate void 委托名(方法名); void 方法名() { if(txtBox.invokeRequered) { 委托名 d=new 委托名(); txtBox.invoke(d); ...
 - K-Means(K均值)、GMM(高斯混合模型),通俗易懂,先收藏了!
			
1. 聚类算法都是无监督学习吗? 什么是聚类算法?聚类是一种机器学习技术,它涉及到数据点的分组.给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组.理论上,同一组中的数据点应该具有相似 ...
 - java - 进程和线程的区别及联系
			
1. 进程 (1)进程主要有两个特征: a. 进程是一个实体,占有一定的地址空间.每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region).数据区域(data region) ...
 - 学习LayUI时自研的表单参数校验框架
			
开发背景&痛点:每次写前端的表单的时候需要对表单里用户填写的内容进行校验,减少服务器压力,提前对已知错误对用户提示.每次会要写很多的if else等等对输入框中的内容进行判断,并对为空.格式不 ...
 - 数据类型之Integer与int
			
数据类型之Integer与int Java入门 基本数据类型 众所周知,Java是面向对象的语言,一切皆对象.但是为了兼容人类根深蒂固的数据处理习惯,加快常规数据的处理速度,提供了9种基本数据类型, ...
 - python的enumerate lambda  isinstance filter函数
			
0x01:filter(function,iterable) filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表. 接收两个参数,第一个为函数,第二个为序列(可迭 ...
 - 语音控制单片机工作【百度语音识别,串口发送数据到单片机】【pyqt源码+软件】!!
			
前些天闲着没事,就做了个语音识别结合串口发送指令的软件,用的是pyqt写的,软件打开后对着笔记本的话筒说话, 他就能识别返回文字结果,然后匹配语音中的关键词,如果有关键词就发送关键词对应的命令,比如语 ...
 - ES2019 / ES10有什么新功能?
			
ECMAScript(简称ES)是ECMA International在ECMA-262和ISO / IEC 16262中标准化的脚本语言规范.它是为了标准化JavaScript语言而创建的,以便从浏 ...
 - 【POJ - 3273】Monthly Expense (二分)
			
Monthly Expense 直接上中文 Descriptions 给你一个长度为N的序列,现在要让你把他们切割成M份(所以每一份都是连续的),然后每一份都有一个和sum[i],其中最大的一个是ma ...
 - Linux基础文件权限
			
一.基本权限 文件权限设置: 可以赋于某个用户或组 能够以何种方式 访问某个文件 权限对象:属主: u属组: g其他人: o 基本权限类型:读:r 4写:w 2执行: x 1 rwx rw- r-- ...