阿里云一键部署 Spark 分布式集群

本文涉及的产品
资源编排,不限时长
简介: Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎,可以完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等。通过ROS大家可以在阿里云上一键部署Spark集群。

Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎,可以完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等,而在 Spark 出现之前,我们一般需要学习各种各样的引擎来分别处理这些需求。本文主要目的是为大家提供一种非常简单的方法,在阿里云上部署Spark集群。
通过<阿里云ROS资源编排服务>,将VPC、NAT Gateway、ECS创建,Hadoop和Spark部署过程自动化,使大家能够非常方便地部署一个Spark集群。本文创建的Spark集群包含三个节点:master.hadoop,slave1.hadoop,slave2.hadoop。

急速部署Spark集群

一键部署Spark集群>>
screenshot
screenshot

注意:

必须确保可以正确下载Jdk,Hadoop,Scala和Spark安装包,我们可以选择类似如下的URL:


  • 利用该模板创建时,只能选择CentOS系统;
  • 为了防止Timeout 失败,可以设置为120分钟;
  • 我们选择的数据中心在上海/北京。
  • ROS模板安装Spark四部曲

    Spark的依赖环境比较多,一般安装Spark可分为四步:安装配置Hadoop集群,安装配置Scala,安装配置Spark包和启动测试集群。

    1. 安装配置Hadoop

    安装Hadoop比较复杂,我们在上一篇博客《阿里云一键部署 Hadoop 分布式集群》中已经做过详细介绍,这里不再赘述。

    2. 安装配置Scala

    Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架,Scala可以像操作本地集合对象一样轻松地操作分布式数据集。

        "aria2c $ScalaUrl \n",
        "mkdir -p $SCALA_HOME \ntar zxvf scala-*.tgz -C $SCALA_HOME \ncd $SCALA_HOME \nmv scala-*.*/* ./ \nrmdir scala-*.* \n",
        "echo >> /etc/profile \n",
        "echo export SCALA_HOME=$SCALA_HOME >> /etc/profile \n",
        "echo export PATH=$PATH:$SCALA_HOME/bin >> /etc/profile \n",
        "ssh root@$ipaddr_slave1 \"mkdir -p $SCALA_HOME; mkdir -p $SPARK_HOME; exit\" \n",
        "ssh root@$ipaddr_slave2 \"mkdir -p $SCALA_HOME; mkdir -p $SPARK_HOME; exit\" \n",
        "scp -r $SCALA_HOME/*  root@$ipaddr_slave1:$SCALA_HOME \n",
        "scp -r $SCALA_HOME/*  root@$ipaddr_slave2:$SCALA_HOME \n",
    

    3. 安装配置Spark

    Master上安装Spark,并将配置正确后的Spark Home目录远程复制到Slave主机上,并设置环境变量。

        "aria2c $SparkUrl \n",
        "mkdir -p $SPARK_HOME \ntar zxvf spark-*hadoop*.tgz -C $SPARK_HOME \ncd $SPARK_HOME \nmv spark-*hadoop*/* ./ \nrmdir spark-*hadoop* \n",
        "echo >> /etc/profile \n",
        "echo export SPARK_HOME=$SPARK_HOME >> /etc/profile \n",
        "echo export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin >> /etc/profile \n",
        "source /etc/profile \n",
        " \n",
        "cp $SPARK_HOME/conf/slaves.template $SPARK_HOME/conf/slaves \n",
        "echo $ipaddr_slave1 > $SPARK_HOME/conf/slaves \n",
        "echo $ipaddr_slave2 >> $SPARK_HOME/conf/slaves \n",
        "cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh \n",
        "echo export SCALA_HOME=$SCALA_HOME > $SPARK_HOME/conf/spark-env.sh \n",
        "echo export JAVA_HOME=$JAVA_HOME   >> $SPARK_HOME/conf/spark-env.sh \n",
        "scp -r $SPARK_HOME/*  root@$ipaddr_slave1:$SPARK_HOME \n",
        "scp -r $SPARK_HOME/*  root@$ipaddr_slave2:$SPARK_HOME \n",
        " \n",
        "ssh root@$ipaddr_slave1 \"echo >> /etc/profile;echo export SCALA_HOME=$SCALA_HOME >> /etc/profile;echo export PATH=$PATH:$SCALA_HOME/bin >> /etc/profile;echo export SPARK_HOME=$SPARK_HOME >> /etc/profile;echo export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin >> /etc/profile;exit\" \n",
        "ssh root@$ipaddr_slave2 \"echo >> /etc/profile;echo export SCALA_HOME=$SCALA_HOME >> /etc/profile;echo export PATH=$PATH:$SCALA_HOME/bin >> /etc/profile;echo export SPARK_HOME=$SPARK_HOME >> /etc/profile;echo export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin >> /etc/profile;exit\" \n",
    

    4. 启动测试集群

    最后格式化HDFS,关闭防火墙,启动集群。

        "hadoop namenode -format \n",
        "systemctl stop  firewalld \n",
        "$HADOOP_HOME/sbin/start-dfs.sh \n",
        "$HADOOP_HOME/sbin/start-yarn.sh \n",
        "$SPARK_HOME/sbin/start-all.sh \n",
    

    测试部署结果

    创建完成后,查看资源栈概况:
    screenshot

    浏览器中输入图中的的SparkWebsiteURL,得到如下结果,则部署成功:
    screenshot

    ROS示例模板

    Spark_Hadoop_Distributed_Env_3_ecs.json:通过该模板可以一键部署上面的集群。
    Spark_Hadoop_ecsgroup.json:该模板允许用户指定slaves节点的数量。
    screenshot

    相关实践学习
    使用ROS创建VPC和VSwitch
    本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
    阿里云资源编排ROS使用教程
    资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
    相关文章
    |
    4天前
    |
    存储 SpringCloudAlibaba Java
    【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
    一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
    【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
    |
    1天前
    |
    机器学习/深度学习 分布式计算 数据挖掘
    MaxFrame 性能评测:阿里云MaxCompute上的分布式Pandas引擎
    MaxFrame是一款兼容Pandas API的分布式数据分析工具,基于MaxCompute平台,极大提升了大规模数据处理效率。其核心优势在于结合了Pandas的易用性和MaxCompute的分布式计算能力,无需学习新编程模型即可处理海量数据。性能测试显示,在涉及`groupby`和`merge`等复杂操作时,MaxFrame相比本地Pandas有显著性能提升,最高可达9倍。适用于大规模数据分析、数据清洗、预处理及机器学习特征工程等场景。尽管存在网络延迟和资源消耗等问题,MaxFrame仍是处理TB级甚至PB级数据的理想选择。
    19 4
    |
    9天前
    |
    分布式计算 大数据 数据处理
    技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
    随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
    41 2
    |
    17天前
    |
    运维 Kubernetes 调度
    阿里云容器服务 ACK One 分布式云容器企业落地实践
    阿里云容器服务ACK提供强大的产品能力,支持弹性、调度、可观测、成本治理和安全合规。针对拥有IDC或三方资源的企业,ACK One分布式云容器平台能够有效解决资源管理、多云多集群管理及边缘计算等挑战,实现云上云下统一管理,提升业务效率与稳定性。
    |
    1月前
    |
    分布式计算 Java 开发工具
    阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
    本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
    |
    1月前
    |
    存储 分布式计算 负载均衡
    分布式计算模型和集群计算模型的区别
    【10月更文挑战第18天】分布式计算模型和集群计算模型各有特点和优势,在实际应用中需要根据具体的需求和条件选择合适的计算架构模式,以达到最佳的计算效果和性能。
    74 2
    |
    3月前
    |
    运维 Kubernetes 调度
    阿里云容器服务 ACK One 分布式云容器企业落地实践
    3年前的云栖大会,我们发布分布式云容器平台ACK One,随着3年的发展,很高兴看到ACK One在混合云,分布式云领域帮助到越来越多的客户,今天给大家汇报下ACK One 3年来的发展演进,以及如何帮助客户解决分布式领域多云多集群管理的挑战。
    阿里云容器服务 ACK One 分布式云容器企业落地实践
    |
    2月前
    |
    存储 边缘计算 城市大脑
    阿里云入选Gartner®分布式混合基础设施魔力象限
    Gartner正式发布了《分布式混合基础设施魔力象限》(Magic Quadrant™ for Distributed Hybrid Infrastructure),阿里云在入选的中国厂商中于执行能力(纵轴)和愿景完整性(横轴)上均处在最高、最远的位置。
    |
    2月前
    |
    分布式计算 Hadoop
    Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
    Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
    59 1
    |
    2月前
    |
    分布式计算 Hadoop 网络安全
    Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
    Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
    46 1