在ACK上运行Spark作业,并用Alluxio进行分布式加速,可以通过ACK Spark Operator来简化提交作业的操作。同时ACK也提供了Spark History Server用来记录作业历史数据,方便排查问题。本文介绍如何在ACK上搭建Spark运行环境。
背景信息
在ACK上搭建Spark运行的环境包括:
创建ACK集群
有关创建ACK集群的具体操作,请参见创建Kubernetes托管版集群。
图 1. 挂载详情

注意
配置集群参数时,您需注意以下内容:
- 设置Worker节点的实例规格时,选择大数据网络增强型的ecs.d1ne.6xlarge规格,并且设置节点数量为20。
- 每个ecs.d1ne.6xlarge节点实例自带12块5 TB的HDD数据盘。您需要对这12个数据盘进行分区格式化挂载。有关操作的详情,请参见分区格式化大于2 TiB数据盘。
- 格式化并挂载完成后,执行
df -h
可以下图图 1的信息。 - /mnt目录下的12个文件路径会在Alluxio中用到。当集群节点多时,手工挂载数据盘的操作十分繁琐,ACK简化了操作方式。详情请参见通过LVM数据卷管理本地存储。

创建OSS存储空间
您需要创建一个OSS存储空间(Bucket)用来存放TPC-DS生成的数据、测试结果和测试过程中的日志等。本文示例中设置Bucket名称为cloudnativeai。有关创建OSS Bucket的具体操作步骤,请参见创建存储空间。
安装ack-spark-operator
通过安装ack-spark-operator组件,您可以使用ACK Spark Operator简化提交作业的操作。
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,选择 。
- 在应用市场页面单击应用目录页签,选中ack-spark-operator应用。
- 在ack-spark-operator页面,单击一键部署。
- 在创建面板中,选择集群和命名空间,然后单击下一步。
- 在参数配置页面,设置相应参数,然后单击确定。
安装ack-spark-history-server
ACK Spark History Server通过记录Spark执行任务过程中的日志和事件信息,并提供UI界面,帮助排查问题。
在创建ack-spark-history-server组件时,您需在参数页签配置OSS相关的信息,用于存储Spark历史数据。有关创建ack-spark-history-server详细步骤,请参见安装ack-spark-operator。
配置OSS信息如下。
oss:
enableOSS: true
# Please input your accessKeyId
alibabaCloudAccessKeyId: ""
# Please input your accessKeySecret
alibabaCloudAccessKeySecret: ""
# oss bucket endpoint such as oss-cn-beijing.aliyuncs.com
alibabaCloudOSSEndpoint: ""
# oss file path such as oss://bucket-name/path
eventsDir: "oss://cloudnativeai/spark/spark-events"
安装完成后,执行以下命令查看是否安装成功。
kubectl get service ack-spark-history-server -n {YOUR-NAMESPACE}
安装Alluxio
在ACK中,您需要通过Helm命令安装Alluxio。