本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启动 Spark 历史记录服务器
您可以使用在 EC2 实例上托管服务器的 AWS CloudFormation 模板启动 Spark 历史记录服务器,也可以使用 Docker 在本地启动 Spark
历史记录服务器。
使用 AWS CloudFormation 启动 Spark 历史记录服务器并查看 Spark UI
您可以使用 AWS CloudFormation 模板启动 Apache Spark 历史记录服务器并查看 Spark Web UI。这些模板是您应修改以满足要求的示例。
使用 AWS CloudFormation 启动 Spark 历史记录服务器并查看 Spark UI
选择下表中的 Launch Stack (启动堆栈) 按钮之一。这将在 AWS CloudFormation 控制台上启动堆栈。
区域
查看
启动
美国东部 (俄亥俄)
美国东部 (弗吉尼亚北部)
美国西部 (加利福尼亚北部)
美国西部 (俄勒冈)
亚太地区(香港)
亚太地区 (孟买)
亚太地区 (首尔)
亚太地区 (新加坡)
亚太地区 (悉尼)
亚太地区 (东京)
加拿大 (中部)
欧洲(法兰克福)
欧洲(爱尔兰)
欧洲(伦敦)
欧洲(巴黎)
欧洲(斯德哥尔摩)
南美洲(圣保罗)
在 Specify template (指定模板) 页面上,选择 Next (下一步)。
在 Specify Stack details (指定堆栈详细信息) 页面上,输入 Stack name (堆栈名称)。选择 Parameters (参数),然后选择 Next (下一步)。
Spark UI 配置
提供以下信息:
IP 地址范围— 可用于查看 Spark UI 的 IP 地址范围。如果要限制来自特定 IP 地址范围的访问,则应使用自定义值。
History server port— 用于 Spark UI 的端口。您可以使用默认值。
事件日志目录— 选择 Spark 事件日志的存储位置,从AWS Glue作业或开发终端节点。您必须将 s3a:// 用于事件日志路径模式。
Spark 包位置— 您可以使用默认值。
密钥库路径— HTTPS 的 SSL/TLS 密钥库路径。如果要使用自定义密钥库文件,则可在此处指定 S3 路径 s3://path_to_your_keystore_file。如果将此参数保留为空,则会生成并使用基于自签名证书的密钥库。
注意
对于基于自签名证书的密钥库,必须将连接到 Spark UI 的每台本地计算机配置为信任在连接到 Spark UI 之前生成的证书。此外,当生成的证书过期时,必须在所有本地计算机上生成并信任新的证书。有关设置的更多信息,请参阅自签名证书。有关更多信息,请参阅 Wikipedia 中的自签名证书。
密钥库密码— HTTPS 的 SSL/TLS 密钥库密码。
EC2 实例配置
提供以下信息:
实例类型— 托管 Spark 历史记录服务器的 Amazon EC2 实例的类型。由于此模板在您的账户中启动 Amazon EC2 实例,因此,Amazon EC2 费用将向您的账户单独收取。
最新 AMI ID— Amazon Linux 2 的 AMI ID,用于 Spark 历史记录服务器实例的 Amazon Linux 2 的 AMI ID。您可以使用默认值。
VPC ID— Spark 历史记录服务器实例的虚拟私有云 (VPC) ID。可以使用您的账户中可用的任何 VPC。建议不要将默认 VPC 用于默认网络 ACL。有关更多信息,请参阅 。默认 VPC 和默认子网和创建 VPC中的Amazon VPC 用户指南。
子网 ID— Spark 历史记录服务器实例的 ID。您可以使用 VPC 中的任意子网。您必须能够从客户端访问子网。如果要通过 Internet 访问,则必须使用在路由表中具有
Internet 网关的公有子网。
在 Configure stack options (配置堆栈选项) 页面上,选择 Next (下一步)。
在 Review (检查) 页面上,检查模板。Select我承认AWS CloudFormation可能会创建 IAM 资源,然后选择创建堆栈。
等待创建堆栈。
打开 Outputs (输出) 选项卡。
如果您使用的是公有子网,请复制 SparkUiPublicUrl 的 URL。
如果您使用的是私有子网,请复制 SparkUiPrivateUrl 的 URL。
打开 Web 浏览器,然后将 URL 粘贴到其中。这样一来,您便能在指定端口上使用 HTTPS 访问服务器。您的浏览器可能无法识别服务器的证书,在这种情况下,您必须重写其保护并继续进行。
使用 Docker 启动 Spark 历史记录服务器并查看 Spark UI
如果您更喜欢本地访问(不需要 Apache Spark 历史记录服务器的 EC2 实例),也可以使用 Docker 启动 Apache Spark 历史记录服务器并在本地查看
Spark UI。此 Dockerfile 是一个示例,您应修改该示例以满足您的要求。
先决条件
有关如何在笔记本电脑上安装 Docker 的信息,请参阅 Docker Engine 社区。
使用 Docker 启动 Spark 历史记录服务器并在本地查看 Spark UI
从 GitHub 下载文件。
运行以下命令:
将AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY使用您的有效AWS凭证。
将 s3a://path_to_eventlog 替换为您的事件日志目录。
$ docker build -t glue/sparkui:latest .
$ docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://path_to_eventlog -Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID -Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY" -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
在浏览器中打开 http://localhost:18080 可本地查看 Spark UI。