以下是搭建 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 应用程序的详细信息,如执行计划、任务进度等。