阿里云一键部署 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

注意:

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

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
6天前
|
SQL 分布式计算 关系型数据库
阿里云E-MapReduce Trino专属集群外连引擎及权限控制踩坑实践
本文以云厂商售后技术支持的角度,从客户的需求出发,对于阿里云EMR-Trino集群的选型,外连多引擎的场景、Ldap以及Kerberos鉴权等问题进行了简要的实践和记录,模拟客户已有的业务场景,满足客户需求的同时对过程中的问题点进行解决、记录和分析,包括但不限于Mysql、ODPS、Hive connector的配置,Hive、Delta及Hudi等不同表格式读取的兼容,aws s3、阿里云 oss协议访问异常的解决等。
|
6天前
|
弹性计算 数据安全/隐私保护
【畅玩雾锁王国】阿里云一键部署雾锁王国/Enshrouded游戏服务端教程
【畅玩雾锁王国】阿里云一键部署雾锁王国/Enshrouded游戏服务端教程。本文将为您提供极简部署雾锁王国服务器的指引,「仅需轻点三次鼠标,即可完成开服」,和自己的朋友一起enjoy独立畅快的游戏体验。
77 0
|
6天前
|
弹性计算 Linux 数据安全/隐私保护
阿里云26元搭建自己的幻兽帕鲁服务器,新手0基础一键部署
阿里云26元搭建自己的幻兽帕鲁服务器,新手0基础一键部署,玩转幻兽帕鲁服务器,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云百科网分享2024年新版基于阿里云搭建幻兽帕鲁服务器教程
154 0
|
6天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
6天前
|
弹性计算 Ubuntu Linux
【玩转幻兽帕鲁服务器搭建】阿里云一键部署幻兽帕鲁联机服务器
在2024年,一款名为《幻兽帕鲁》的游戏风靡全球,为了与众多小伙伴们一同畅游,我决定尝试自己搭建一个联机服务器。令人惊喜的是,阿里云提供了一键部署服务,让整个过程变得异常简单。 搭建实践:首先,我按照阿里云的教程,选择了合适的配置。整个过程如同使用一键式洗衣机,选择合适的程序和设置,剩下的就交给它了。我仅仅花了3分钟,服务器就已经搭建完毕。
139 1
【玩转幻兽帕鲁服务器搭建】阿里云一键部署幻兽帕鲁联机服务器
|
6天前
|
弹性计算 Ubuntu Linux
2024年如何在阿里云主机实现一键部署【幻兽帕鲁/Palworld】游戏?
《幻兽帕鲁》是最近非常火爆的一款游戏,由 Pocketpair 开发,是一款开放世界生存制作游戏,游戏于 2024 年 1 月 18 日发行抢先体验版本。游戏中,玩家可以在广阔的世界中收集神奇的生物 " 帕鲁 ",派他们进行战斗、建造、做农活,工业生产等。本文将详细介绍如何在阿里云服务器实现一键部署幻兽帕鲁联机服务器,帮助大家快速搭建自己的游戏联机服务器。
|
6天前
|
弹性计算 Ubuntu Linux
1分钟畅玩!阿里云一键部署幻兽帕鲁联机服务器图文教学
如何自建幻兽帕鲁服务器?基于阿里云服务器搭建幻兽帕鲁palworld服务器教程来了,一看就懂系列。
106 2
|
6天前
|
弹性计算 运维 数据安全/隐私保护
【雾锁王国开服】阿里云一键部署雾锁王国联机服务器详细教程
阿里云提供雾锁王国服务器搭建教程,借助计算巢服务,用户可在3分钟内创建Enshrouded游戏服务器。8核32G服务器1个月109元,3个月327元;4核16G10M带宽1个月30元,3个月90元。需先注册并实名认证阿里云账号,然后通过傻瓜式一键部署入口进行购买和设置,包括地域、购买时长、服务器参数等。部署完成后,分享服务器信息给游戏伙伴,即可开始游戏。详细教程和更多配置信息可在阿里云ECS产品页查看。
39 0
|
6天前
|
弹性计算 运维 数据可视化
开源!阿里云开源帕鲁一键部署服务模板
阿里云响应《幻兽帕鲁》游戏火爆,迅速推出游戏联机专属服务,实现3分钟内自动化部署服务器,简化玩家上手难度。借助阿里云计算巢,服务在1个月内迭代70多个版本,提供丰富功能。现在,阿里云宣布将帕鲁快速部署服务模板全面开源,任何人都能获取。这一服务利用IaC技术,实现软件SaaS化,提供一键开服功能,并支持灵活配置和全球化部署。此外,通过计算巢的可视化操作和快速变配功能,满足玩家个性化需求。阿里云计算巢作为免费产品,旨在促进更多软件云端发展。
44 0
|
6天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
33 0