kubernetes-session.sh
1. 脚本主要功能
该脚本用于在Kubernetes环境下启动Flink会话(Session)。它包含以下主要功能:
- 获取Flink配置信息
- 设置JVM参数
- 构建Flink类路径
- 设置日志文件和配置
- 导出Flink配置目录
- 启动Kubernetes会话
2. 脚本加上中文注释
bin=`dirname "$0"`
bin=`cd "$bin"; pwd`
# 获取 Flink 配置
. "$bin"/config.sh
if [ "$FLINK_IDENT_STRING" = "" ]; then
FLINK_IDENT_STRING="$USER"
fi
# 设置 JVM 参数
JVM_ARGS="$JVM_ARGS -Xmx512m"
# 构建 Flink 类路径
CC_CLASSPATH=`manglePathList $(constructFlinkClassPath):$INTERNAL_HADOOP_CLASSPATHS`
log=$FLINK_LOG_DIR/flink-$FLINK_IDENT_STRING-k8s-session-$HOSTNAME.log
log_setting="-Dlog.file="$log" -Dlog4j.configuration=file:"$FLINK_CONF_DIR"/log4j-session.properties -Dlog4j.configurationFile=file:"$FLINK_CONF_DIR"/log4j-session.properties -Dlogback.configurationFile=file:"$FLINK_CONF_DIR"/logback-session.xml"
export FLINK_CONF_DIR
# 启动 Kubernetes 会话
"$JAVA_RUN" $JVM_ARGS -classpath "$CC_CLASSPATH" $log_setting org.apache.flink.kubernetes.cli.KubernetesSessionCli "$@"
3. 该脚本多种用法及其代码示例
该脚本可以通过以下方式使用:
./kubernetes-session.sh [参数]
其中,[参数]
是启动Kubernetes会话时可选的命令行参数。
示例:
./kubernetes-session.sh --namespace flink --jobmanager KubernetesJobManager --taskmanager KubernetesTaskManager
以上示例中,通过指定--namespace
参数设置Kubernetes命名空间,--jobmanager
参数设置作业管理器类型为KubernetesJobManager,--taskmanager
参数设置任务管理器类型为KubernetesTaskManager。
4. flink中其他类似脚本
在Flink中还有其他类似的脚本,用于不同的部署和运行模式。您可以参考官方文档获取更多信息。
5. 官方链接
您可以在官方文档中找到有关此脚本以及其他相关脚本的更多详细信息。