Spark集群之Standalone模式

本文详细介绍了如何在阿里云Ubuntu环境中,使用Spark 2.2.0搭建Standalone集群,包括配置文件修改、启动Master与Worker节点,以及提交首个Spark程序计算PI的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.环境

Spark集群部署有三中模式:
1.Standalone模式
2.Spark On Mesos模式
3.Spark On YARN模式

下面记录下Standalone模式部署步骤

阿里云机器2台
系统: ubuntu16.04
spark: spark-2.2.0-bin-hadoop2.7.tgz
jdk: jdk1.8.0_191

名称主机
Master172.31.175.30
Worker172.31.175.37
2. 安装

a.安装jdk忽略
b.安装spark
下载地址:https://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz
解压:

tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz
3.修改配置文件

a.重命名文件

mv spark-env.sh.template spark-env.sh
mv slaves.template slaves

spark-env.sh内容添加如下:

export JAVA_HOME=/soft/jdk1.8.0_191
export SPARK_MASTER_IP=172.31.175.30 #Master主机IP
export SPARK_MASTER_PORT=7077

slaves文件添加Worker主机

# A Spark Worker will be started on each of the machines listed below.
#localhost
172.31.175.37
5.启动Master

在Master主机的spark-2.2.0-bin-hadoop2.7目录启动

./sbin/start-all.sh

注:启动时需要输入Worker主机的登录密码

查看Master主机情况

work@iZuf608kw6wutrqb0yt5ieZ:/soft/spark-2.2.0-bin-hadoop2.7$ jps
2276 Jps
2139 Master

查看Worker主机情况

work@iZj6c3zjf2blpqz40tntifZ:/soft/spark-2.2.0-bin-hadoop2.7$ jps
1937 Jps
1538 Worker

查看Master的Web界面
地址: http://172.31.175.30:8080/
在这里插入图片描述

6.提交第一个Spark程序

我们找一台Worker节点提交Spark程序
这个应用是计算PI的大小

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://172.31.175.30:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
examples/jars/spark-examples_2.11-2.2.0.jar \
100

–executor-memory表示每个executor使用的内存大小
–total-executor-cores 整个app使用的核数
100表示进行100次采样

注:本次试验Master和Worker都是单节点,存在单点故障问题。后面会结合ZooKeeper实现多个Master,多个Worker高可用集群架构

7.提交自己创建的Spark程序

代码中将.setMaster()去掉,由提交命令时设置
valconf=newSparkConf().setAppName(“AccessCount”).setMaster(“local[2]”)
修改为:
valconf=newSparkConf().setAppName(“AccessCount”)

maven中pom.xml中设置插件配置,将依赖jar包打在一块

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.1.0</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
        <configuration>
          <transformers>
            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
              <mainClass>cn.hecj.spark0309.AccessCount</mainClass>
            </transformer>
          </transformers>
        </configuration>
      </execution>
    </executions>
  </plugin>

maven打包:
maven clean install

打包后需要删除jar中的文件
zip -d SparkDemo1-1.0-SNAPSHOT.jar META-INF/.RSA META-INF/.DSA META-INF/*.SF

提交命令:
./bin/spark-submit --class cn.hecj.spark0309.AccessCount --master spark://172.31.175.30:7077 --executor-memory 1G --total-executor-cores 2 /Users/hecj/Desktop/SparkDemo1-1.0-SNAPSHOT.jar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值