1.sparkctl简介
sparkctl
是 Spark Operator 的一个命令行工具,用于创建、列出、检查状态、获取日志和删除
SparkApplication
。它还可以进行从本地端口到 Spark Web UI 端口的端口转发,以访问驱动程序上的 Spark Web UI。每个功能都是作为子命令实现的
sparkctl
。
以下全局标志可用于所有子命令:
--namespace
:(s) 的 Kubernetes 命名空间SparkApplication
。默认为default
.--kubeconfig
:访问 Kubernetes API 服务器的配置文件的路径。默认为$HOME/.kube/config
创建
create
sparkctl
是用于创建对象的子命令
SparkApplication
。创建对象有两种方法
SparkApplication
。一种是在给定 YAML 文件
SparkApplication
指定的命名空间中解析并创建对象。
--namespace
这样就
create
解析了YAML文件,并将解析后的
SparkApplication
对象发送到Kubernetes API服务器。这种方式的用法如下所示:
用法:
$ sparkctl create <path to YAML file>
另一种方法是
SparkApplication
从命名创建对象
ScheduledSparkApplication
以手动强制运行
ScheduledSparkApplication
.这种方式的用法如下所示:
用法:
$ sparkctl create <name of the SparkApplication> --from <name of the ScheduledSparkApplication>
该
create
命令还支持将本地 Hadoop 配置文件传送到驱动程序和执行程序 Pod 中。具体来说,它会检测位于环境变量指定的路径中的本地 Hadoop 配置文件
HADOOP_CONF_DIR
,从这些文件创建 Kubernetes
ConfigMap
,并将其添加到
ConfigMap
对象中
SparkApplication
,以便操作员将其安装到驱动程序和执行程序 Pod 中。环境变量
HADOOP_CONF_DIR
也在驱动程序和执行程序容器中设置。
暂存本地依赖项
该
create
命令还支持暂存本地应用程序依赖项,但目前仅支持上传到 Google Cloud Storage (GCS) 存储桶。其工作方式如下。它检查解析对象中的
spec.mainApplicationFile
、
spec.deps.jars
、
spec.deps.files
等是否存在任何本地依赖关系
SparkApplication
。如果是这样,它会尝试将本地依赖项上传到 指定的远程位置
--upload-to
。如果使用本地依赖项但未
--upload-to
指定,该命令将失败。默认情况下
版权归原作者 hay_lee 所有, 如有侵权,请联系我们删除。