脚本主要功能
该脚本用于在 Kubernetes 上启动 Flink 的 JobManager,它适用于 Flink 的原生 Kubernetes 集成。
注意:此脚本不应手动启动,而是由 Kubernetes 集成使用。
脚本加上中文注释
#!/bin/bash
# Start a Flink JobManager for native Kubernetes.
# NOTE: This script is not meant to be started manually. It will be used by native Kubernetes integration.
USAGE="使用方法:kubernetes-jobmanager.sh kubernetes-session|kubernetes-application [args]"
ENTRY_POINT_NAME=$1 # 获取入口点名称(kubernetes-session或kubernetes-application)
ARGS=("${@:2}") # 获取参数列表
bin=`dirname "$0"` # 获取脚本所在目录
bin=`cd "$bin"; pwd` # 转换为绝对路径
. "$bin"/config.sh # 加载配置文件
# 添加JobManager特定的JVM选项
export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_JM}"
parseJmArgsAndExportLogs "${ARGS[@]}"
if [ ! -z "${DYNAMIC_PARAMETERS}" ]; then
ARGS=(${DYNAMIC_PARAMETERS[@]} "${ARGS[@]}")
fi
exec "${FLINK_BIN_DIR}"/flink-console.sh ${ENTRY_POINT_NAME} "${ARGS[@]}"
该脚本多种用法及其代码示例
- 启动 Kubernetes Session 模式的 JobManager:
./kubernetes-jobmanager.sh kubernetes-session
- 启动 Kubernetes Application 模式的 JobManager:
./kubernetes-jobmanager.sh kubernetes-application
Flink中其他类似脚本
在 Flink 中,还有其他类似的脚本用于启动和管理不同组件,例如:
start-cluster.sh
:启动 Flink 集群stop-cluster.sh
:停止 Flink 集群taskmanager.sh
:启动或停止 Flink TaskManagerjobmanager.sh
:启动或停止 Flink JobManager
您可以根据需要使用这些脚本来管理和操作 Flink。
官方链接
官方文档中关于 Flink 在 Kubernetes 上的原生集成的详细信息可以在以下链接找到:
https://ci.apache.org/projects/flink/flink-docs-release-1.14/zh/deployment/kubernetes/