如何在 Ubuntu 上安装配置 Spark

版本

  • JDK: 8u221
  • Scala: 2.12.9
  • Hadoop: 3.1.2
  • Spark: 2.4.4

下载

首先点击这里,进入 Spark 官网下载页面。

Spark下载页面

选择下载版本,以及 Hadoop 版本,然后点击 tgz 地址进行下载

Spark镜像选择页面

选中官方推荐的地址即可下载,其他地址也可用(建议采用迅雷等下载工具下载,速度比较会快很多,上传至 UBUNTU 系统)

或者使用 wget 命令进行下载

1
wget http://mirror.bit.edu.cn/apache/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgz

配置

Spark 部署模式总共有下面就几种

  • local 模式 (单机模式)
    • local
    • local[k]
    • local[*]
  • cluster 模式 (多机模式)
    • standalone
    • mesos
    • yarn
      • yarn cluster
      • yarn client

cluster 模式肯定就是运行很多机器上了,但是它又分为以下三种模式,区别在于谁去管理资源调度。(说白了,就好像后勤管家,哪里需要资源,后勤管家要负责调度这些资源)

yarn 模式又分为 yarn cluster 模式和 yarn client 模式:

  • yarn cluster: 这个就是生产环境常用的模式,所有的资源调度和计算都在集群环境上运行。
  • yarn client: 这个是说 Spark Driver 和 ApplicationMaster 进程均在本机运行,而计算任务在 cluster 上。

单机模式

local 模式就是运行在一台计算机上的模式,通常就是用于在本机上练手和测试。它可以通过以下集中方式设置 master。可以不进行任何配置,直接使用 local 部署模式运行

  • local: 所有计算都运行在一个线程当中,没有任何并行计算,通常我们在本机执行一些测试代码,或者练手,就用这种模式。
  • local [K]: 指定使用几个线程来运行计算,比如 local [4] 就是运行 4 个 worker 线程。通常我们的 cpu 有几个 core,就指定几个线程,最大化利用 cpu 的计算能力
  • local [*]: 这种模式直接帮你按照 cpu 最多 cores 来设置线程数了。

Standalone 模式

下载完毕后,使用下面的命令,将 hadoop 解压出来,并移动到合适的位置,我解压到了 /opt 目录下

1
tar -zxvf ./spark-2.4.4-bin-hadoop2.7.tgz  -C /opt

之后,需要配置以下的环境变量

使用 vi 命令编辑 vi /etc/profile,添加下面的环境变量

1
2
3
# SPARK
export SPARK_HOME=/opt/spark-2.4.4
export PATH=${SPARK_HOME}/bin:${SPARK_HOME}/sbin:$PATH

添加完毕保存后,使用 source /etc/profile 更新环境变量

下面我们来验证一下看 spark 是否能正常启动

打开 /opt/spark-2.4.4/conf/ 这个目录,使用 cp spark-env.sh.template spark-env.sh,在最后端加入下面的参数

1
2
3
4
5
6
7
8
9
10
export JAVA_HOME=/opt/jdk1.8.0_221
export SCALA_HOME=/opt/scala-2.12.9
export SPARK_HOME=/opt/spark-2.4.4
export HADOOP_HOME=/opt/hadoop-3.1.2
export HADOOP_CONF_DIR=/opt/hadoop-3.1.2/etc/hadoop
export YARN_CONF_DIR=/opt/hadoop-3.1.2/etc/hadoop
export SPARK_MASTER_IP=master
export SPARK_LOCAL_IP=192.168.24.101
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=2g

使用 cp slaves.template slaves,然后将所有 worker 机器节点 ip 或者域名加入其中 ,单节点使用默认的 localhost 即可

启动 Spark

之后通过下面的命令启动 Spark

1
2
start-mastar.sh
start-slaves.sh

JPS

启动完毕后可以使用 jps 命令查看启动的 spark 进程,如图表示,则说明我们已经将 spark 安装配置完毕了

spark运行图

可以访问 http://localhost:8088 查看所有任务的运行情况

案例测试

在控制台输入 spark-shell

spark-shell

情况如图表示,则说明我们已经将 spark 安装配置完毕了

PI 值计算

可使用下面的命令来计算 PI 值

1
run-example SparkPi 10