Flink源码解析(三)TaskManager启动分析

本文详细解读了Flink中TaskManager的启动过程,包括关键服务的构建、TaskExecutor的启动、心跳管理以及与JobManager的交互。不同于HDFS,TaskManager主动发送心跳,展示了Flink主从架构和资源管理机制的工作原理。

1、Flink主节点TaskManager启动分析:

        TaskManager是Flink的worker节点,它负责Flink中本机slot资源的管理以及具体task的执行。
        TaskManager上的基本资源单位是slot,一个作业的task最终会部署在一个TM的slot上运行,TM会负责维护本地的slot资源列表,并来与FlinkMaster和JobManager通信。
        根据前面的启动分析:TaskManager的启动主类:TaskManagerRunner。

2、源码分析

代码执行的大致流程如下:

TaskManagerRunner.main()
    runTaskManagerSecurely(args, ResourceID.generate());
        # 加载配置
        Configuration configuration = loadConfiguration(args);
        # 启动 TaskManager
        runTaskManagerSecurely(configuration, resourceID);
            # 启动 TaskManager
            runTaskManager(configuration, resourceID, pluginManager);
                # 构建 TaskManagerRunner 实例
                taskManagerRunner = new TaskManagerRunner(...);
                    # 初始化一个线程池
                    this.executor = Executors.newScheduledThreadPool(....)
                &nb

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值