以下是搭建 Spark YARN 模式集群的一般步骤:
准备工作
- 确保集群中各节点已安装并配置好 Java 环境,且版本符合 Spark 要求。
- 规划好集群中节点的角色,如 Master 节点、Worker 节点等,并确保各节点之间网络畅通,能相互访问。
安装 Hadoop
配置 Spark on YARN
- 下载适合你系统的 Hadoop 版本,解压到指定目录。
- 配置 Hadoop 的核心配置文件,如
core-site.xml
、hdfs-site.xml
、mapred-site.xml
和yarn-site.xml
,设置相关参数,如文件系统路径、资源分配等。 - 格式化 Hadoop 文件系统(通常在 Master 节点上执行):
hdfs namenode -format
。 - 启动 Hadoop 集群,包括 NameNode、DataNode、ResourceManager 和 NodeManager 等服务。
安装 Spark
- 下载 Spark 安装包,解压到集群各节点的指定目录。
- 进入 Spark 的配置目录,复制
spark-env.sh.template
为spark-env.sh
,并进行编辑,设置以下环境变量:export JAVA_HOME=/path/to/java
(替换为实际的 Java 安装路径)export HADOOP_CONF_DIR=/path/to/hadoop/conf
(Hadoop 配置文件目录)- 可以根据需要设置其他参数,如
SPARK_MEM
等。
- 同样在配置目录下,复制
slaves.template
为slaves
,在slaves
文件中列出所有 Worker 节点的主机名或 IP 地址,每行一个。 - 编辑
spark-defaults.conf
文件,添加或修改以下配置:spark.master yarn
:指定 Spark 运行在 YARN 模式下。spark.submit.deployMode cluster
:设置提交模式为集群模式。- 还可以配置其他参数,如
spark.executor.memory
、spark.executor.cores
等,以调整资源分配。
启动 Spark 集群
- 在 Master 节点上,使用以下命令提交一个 Spark 示例应用程序来测试集群是否正常运行:
bash
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
/path/to/spark-examples.jar \
[parameters]
- 其中,
/path/to/spark-examples.jar
是 Spark 示例应用程序的路径,[parameters]
是应用程序所需的参数。
验证集群
- 可以通过 Hadoop 的 YARN Web 界面(通常在
http://resourcemanager-host:8088
)查看应用程序的运行状态和资源使用情况。 - 也可以通过 Spark 的 Web 界面(通常在
http://master-host:4040
,如果是集群模式,可能在 YARN 的应用程序页面中找到 Spark 的 Web UI 链接)查看 Spark 应用程序的详细信息,如执行计划、任务进度等。