ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Linux-Tutorial:CentOS 7 下 Spark 2.2.0 安装与 YARN 集成配置实战

Linux-Tutorial:CentOS 7 下 Spark 2.2.0 安装与 YARN 集成配置实战 文档教程技术博客【免费下载链接】Linux-Tutorial《Java 程序员眼中的 Linux》项目地址https://gitcode.com/gh_mirrors/li/Linux-Tutorial点击查看免费下载本文是《Java 程序员眼中的 Linux》系列中关于 Apache Spark 的实战指南面向已经搭建好 Hadoop 集群的 Java 开发者以 CentOS 7.4 为环境、Spark 2.2.0 为版本完整演示 Spark 的下载解压、环境变量配置、spark-env.sh核心参数调整以及如何让 Spark 作业通过HADOOP_CONF_DIR接入既有 Hadoop 2.6.5 集群并提交到 YARN 调度运行。读完本文你将掌握一套可复制的本地单机 Spark 集群 YARN 的安装集成方案并理解每一步背后的版本选型与配置动机。环境与版本选型说明在动手安装之前先明确本指南使用的运行环境这部分直接决定了后续所有命令的写法操作系统CentOS 7.4机器 IP192.168.0.105JDK必须为 JDK 8.xSpark 对 JDK 版本敏感不是任意版本都可以已有集群Hadoop 2.6.5 集群这是一个容易忽略的细节Spark 版本2.2.0需要选择hadoop2.6对应的二进制包关于版本匹配由于作者技术栈中 Hadoop 仍停留在 2.6.5而 Spark 要使用 2.2.0因此下载时必须选择与 Hadoop 2.6 配套的 Spark 发行包spark-2.2.0-bin-hadoop2.6.tgz。Spark 官方将不同 Hadoop 版本预编译为不同的二进制包选错会导致与 HDFS / YARN 的通信出现兼容问题。JDK 的安装不属于本文范围仓库中已有完整流程可供参考JDK 安装并配套一键脚本 install_jdk_online.shHadoop 集群的搭建细节见 Hadoop 安装和配置。下载 Spark 2.2.0 二进制包Spark 2.2.0 的二进制包约 192MB下载速度可能较慢建议直接在服务器上用wget拉取并放到/usr/local目录下cd /usr/local wget https://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.6.tgz下载完成后解压tar zxvf spark-2.2.0-bin-hadoop2.6.tgz解压出的目录名带有版本与 Hadoop 标识为了让后续路径简洁将其重命名为/usr/local/sparkmv /usr/local/spark-2.2.0-bin-hadoop2.6 /usr/local/spark重命名后建议验证一下 Spark 目录结构是否完整关键子目录包括bin/spark-shell、spark-submit等客户端与提交命令sbin/start-all.sh、stop-all.sh等启动管理脚本conf/spark-env.sh、spark-defaults.conf等配置文件jars/Spark 运行时依赖的 jar 包配置 Spark 环境变量Spark 的启动脚本依赖SPARK_HOME定位安装目录同时需要将bin与sbin两个目录加入PATH。编辑系统级配置文件vim /etc/profile在文件末尾追加以下内容SPARK_HOME/usr/local/spark PATH$PATH:${SPARK_HOME}/bin:${SPARK_HOME}/sbin export SPARK_HOME export PATH保存后执行source使配置立即生效source /etc/profileSPARK_HOME的写法与仓库中 Hadoop 的HADOOP_HOME/usr/local/hadoop-2.6.5完全一致都通过/etc/profile全局注入。这样做的目的是让spark-submit、spark-shell等命令在任何目录下都能直接使用。修改 spark-env.sh 接入 HadoopSpark 的配置文件目录下只有模板文件需要先复制模板再编辑cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh vim $SPARK_HOME/conf/spark-env.sh假设 Hadoop 安装路径为/usr/local/hadoop-2.6.5则在spark-env.sh文件最末尾追加一行export HADOOP_CONF_DIR/usr/local/hadoop-2.6.5/etc/hadoopHADOOP_CONF_DIR是本次配置的核心它告诉 Spark 到哪里读取core-site.xml、hdfs-site.xml、yarn-site.xml等集群配置。Spark 通过这些配置才能正确连接 HDFS如读取fs.defaultFS指定的 NameNode 地址并向 YARN 提交作业如读取yarn.resourcemanager.hostname定位 ResourceManager。配置到这一步即可结束因为作业要交给 YARN 执行Spark 自身不再需要以 Standalone 集群模式启动 Master / Worker相关资源调度全部由 YARN 承担。这与 Hadoop 安装和配置 中通过mapred-site.xml的mapreduce.framework.nameyarn、yarn-site.xml的yarn.resourcemanager.hostname搭建的资源调度体系一脉相承。关键配置项速查配置项值示例作用SPARK_HOME/usr/local/spark定位 Spark 安装根目录PATH追加${SPARK_HOME}/bin:${SPARK_HOME}/sbin使 spark 客户端命令全局可用HADOOP_CONF_DIR/usr/local/hadoop-2.6.5/etc/hadoop读取 HDFS / YARN 集群配置是 Spark 接入 Hadoop 的桥梁安装后的验证与作业提交配置完成后可通过以下方式验证安装结果与 YARN 集成是否生效。1. 验证命令可用spark-shell --version能正常输出版本信息即说明PATH与SPARK_HOME配置正确。2. 启动交互式 ShellYARN 模式spark-shell --master yarn进入 Shell 后可用sc上下文读取 HDFS 文件验证 HDFS 连通性。3. 用 spark-submit 向 YARN 提交作业spark-submit \ --master yarn \ --deploy-mode cluster \ --class 你的主类 \ /path/to/your-app.jar作业提交后可以在 YARN 的 ResourceManager Web 界面默认http://resourcemanager-host:8088观察 application 的运行状态这与 Hadoop 安装和配置 中运行的 MapReduce 作业共用同一套 YARN 调度平台。若提交时报 Cannot connect to the YARN ResourceManager 一类错误优先检查HADOOP_CONF_DIR指向的yarn-site.xml中yarn.resourcemanager.hostname是否与集群实际配置一致。常见问题与注意事项版本匹配是首要问题Spark 发行包按 Hadoop 版本区分hadoop2.6、hadoop2.7等必须与既有 Hadoop 集群版本对应同时 JDK 必须是 8.x。不要遗漏source /etc/profile修改环境变量后不刷新当前会话中命令仍然找不到。HADOOP_CONF_DIR指向的是配置目录即包含core-site.xml、hdfs-site.xml、yarn-site.xml的etc/hadoop目录而不是 Hadoop 安装根目录。YARN 模式不需要启动 Spark 自带集群配置到HADOOP_CONF_DIR即可作业由 YARN 统一调度这是本方案与 Standalone 部署方式的核心差异。小结本文完整走通了《Java 程序员眼中的 Linux》项目中 Spark 2.2.0 的安装与 YARN 集成流程从版本选型Spark 2.2.0 Hadoop 2.6.5 JDK 8到下载解压、环境变量注入、spark-env.sh中HADOOP_CONF_DIR的配置再到验证与作业提交。这套流程可以推广到仓库内其他大数据组件的部署实践中——仓库中的 Hadoop 安装和配置、Kafka 安装和配置 等文档都遵循先选型、再下载、配环境变量、改核心配置、最后验证的相同方法论。赞分享文档教程技术博客【免费下载链接】Linux-Tutorial《Java 程序员眼中的 Linux》项目地址https://gitcode.com/gh_mirrors/li/Linux-Tutorial点击查看免费下载相关推荐VUX 2.x 安装指南npm/yarn 安装与 vux-loader Webpack 集成配置详解VUX 2.x 安装指南npm/yarn 安装与 vux loader Webpack 集成配置详解 VUX 是基于 Vue 2 与 WeUI 风格的移动端UI组件前端Apache Zeppelin 集群部署实战Spark on YARN 与 Kubernetes 模式完整配置指南Apache Zeppelin 集群部署实战Spark on YARN 与 Kubernetes 模式完整配置指南 Apache Zeppelin 是一款基于GUI 自动化计算机视觉RPA人工智能SeaTunnel Spark引擎适配YARN集群部署与资源配置SeaTunnel Spark引擎适配YARN集群部署与资源配置 引言解决大数据流批处理的资源困局 你是否正面临这些挑战Spark作业在YARN集群频繁内数据工程大数据批处理流处理上一篇解决Angular文件上传难题ngx-uploader错误处理与最佳实践指南下一篇Nikto数据库备份自动化定期保护Web安全检测规则创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表