Flink源码之集群启动(1)

Flink源码之集群启动(1),第1张

Flink源码之任务启动

文章目录
  • Flink源码之任务启动
  • 前言
  • 一、环境介绍
  • 二、启动脚本
      • 1. 入口 start-cluster.sh
      • 2.jobmanager.sh和taskmanager.sh
      • 3.启动进程flink-daemon.sh
  • 总结


前言

最近在升级公司的实时开发平台,于是开始研究下flink的源码。本文是flink源码第一篇,从flink的集群启动脚本开始。

一、环境介绍
  • flink 1.12.x
二、启动脚本

安装过flink的同学都知道是通过start-cluster.sh去启动的,下面就从这个脚本开始。
代码路径

flink-dist/src/main/flink-bin/bin

1. 入口 start-cluster.sh

该脚本就干了下面两件事。

  • 启动jobManager
"${FLINK_BIN_DIR}"/jobmanager.sh start
  • 启动TaskManager
TMWorkers start

TMWorkers方法在config.sh里面,如下

"${FLINK_BIN_DIR}"/taskmanager.sh "${CMD}"
2.jobmanager.sh和taskmanager.sh
  • jobmanager.sh
// 指定类型
ENTRYPOINT=standalonesession
// 守护进程启动
"${FLINK_BIN_DIR}"/flink-daemon.sh $STARTSTOP $ENTRYPOINT "${args[@]}"
  • taskmanager.sh
// 指定类型
ENTRYPOINT=taskexecutor
// 守护进程启动
"${FLINK_BIN_DIR}"/flink-daemon.sh $STARTSTOP $ENTRYPOINT "${ARGS[@]}"
3.启动进程flink-daemon.sh
  • 根据类型确认启动的java类
case $DAEMON in

    // 从节点: TaskManagerRunner
    (taskexecutor)
        CLASS_TO_RUN=org.apache.flink.runtime.taskexecutor.TaskManagerRunner
    ;;

    (zookeeper)
        CLASS_TO_RUN=org.apache.flink.runtime.zookeeper.FlinkZooKeeperQuorumPeer
    ;;

    (historyserver)
        CLASS_TO_RUN=org.apache.flink.runtime.webmonitor.history.HistoryServer
    ;;

    // 主节点: StandaloneSessionClusterEntrypoint
    (standalonesession)
        CLASS_TO_RUN=org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint
    ;;

    (standalonejob)
        CLASS_TO_RUN=org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint
    ;;

    (*)
        echo "Unknown daemon '${DAEMON}'. $USAGE."
        exit 1
    ;;
esac
  • 启动java进程
$JAVA_RUN $JVM_ARGS ${FLINK_ENV_JAVA_OPTS} "${log_setting[@]}" -classpath "`manglePathList "$FLINK_TM_CLASSPATH:$INTERNAL_HADOOP_CLASSPATHS"`" ${CLASS_TO_RUN} "${ARGS[@]}" > "$out" 200<&- 2>&1 < /dev/null &

总结

本文介绍了如何以start-cluster.sh脚本为入口,找到启动jobmanager和taskmanager其实就是启动了StandaloneSessionClusterEntrypoint和TaskManagerRunner两个java类,后面将对着两个类源码进行跟踪分析。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/719345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存