文章目录
  1. 1. Spark 集群搭建
    1. 1.1. 安装 Scala
    2. 1.2. 安装 Spark
      1. 1.2.1. 配置
      2. 1.2.2. 环境变量
      3. 1.2.3. 复制
    3. 1.3. 测试
    4. 1.4. 启动 PySpark
    5. 1.5. 脚本
    6. 1.6. 参考

Spark 集群搭建

Spark(官网) 集群一般运行在 Hadoop 集群上,上一遍博客已经搭建好了 Hadoop 集群,本文接着搭建了 Spark集群,由于版本有出入,最后的变化的就只有文件名而已,但是需要特别注意。

安装 Scala

1
sudo apt-get install scala

在文件 /etc/profile 中添加如下信息,以便配置环境变量。

1
2
export SCALA_HOME=/usr/share/scala-2.11
export PATH=$PATH:$SCALA_HOME/bin

在命令行中,输入 scala 进行测试:

测试 Scala

安装 Spark

这里使用的是 Spark-2.2.0,使用 wget 工具进行下载。

1
2
sudo wget https://github.com/apache/spark/archive/v2.2.0.tar.gz
sudo tar -zxvf v2.2.0.tar.gz -C /usr/local/

配置

先重命名文件,在spark的路径下的 conf 文件夹下。

1
2
cp slaves.template slaves
cp spark-env.sh.template spark-env.sh

slaves 文件中,配置主从节点,添加主机名和 ${IP}$ 地址均可。

1
2
master
slave

spark-env.sh 文件中,配置如下信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Java 路径
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
# scala 路径
export SCALA_HOME=/usr/share/scala-2.11
# hadoop 路径
export HADOOP_HOME=/usr/local/hadoop-2.8.0
# hadoop 配置路径
export HADOOP_CONF_DIR=/usr/local/hadoop-2.8.0/etc/hadoop
# 指定master
export SPARK_MASTER_IP=master
# 指定结点使用的内存数。
export SPARK_WORKER_MEMORY=16g
# 指定结点使用的核数。
export SPARK_WORKER_CORES=16
# 指定结点的工作实例数。
export SPARK_WORKER_INSTANCES=1

环境变量

为了方便,将路径添加至环境变量文件中。

1
sudo vim /etc/environment

在末尾添加:

1
:/usr/local/spark-2.2.0/bin:/usr/local/spark-2.2.0/sbin

复制

将以上在 master 结点修改后的文件,传送到所有的 salve 结点,以及在 slave 节点上,也要安装 Scala。

1
2
3
scp /etc/profile salve:/etc/
scp /etc/environment salve:/etc/
scp -r /usr/local/spark-2.2.0 salve:/etc/local/

测试

/usr/local/spark-2.2.0/sbin 目录下,运行启动脚本:

1
./start-all.sh

在 master 端输入命令 jps,结果如下:

master 端输入命令 jps

在 slave 端输入命令 jps,结果如下:

slave 端输入命令 jps

在浏览器中,输入 master 结点的 ip 地址再配上端口号,前文配置的是 8080,结果如下图所示:

spark集群

启动 PySpark

按需要,给 PySpark 配置 python3IPython 的接口:

Spark 目录下的 /bin 下:

1
sudo vim pyspark

添加如下内容:

1
2
export PYSPARK_PYTHON=python3
export PYSPARK_DRIVER_PYTHON=ipython

/bin 目录下,运行 ./pyspark

pyspark启动

脚本

由于通常 spark 集群是运行在 hadoop 集群上的,所以,写一个脚本较为方便:

启动:

1
2
3
4
5
6
7
8
9
#!/usr/bin/env bash
jps
echo 'start hadoop'
/usr/local/hadoop/hadoop-2.8.0/sbin/start-all.sh
jps
echo 'start spark'
/usr/local/spark-2.2.0/sbin/start-all.sh
jps
echo 'start done'

停止:

1
2
3
4
5
6
7
8
9
#!/usr/bin/env bash
jps
echo 'stop spark'
/usr/local/spark-2.2.0/sbin/stop-all.sh
jps
echo 'stop hadoop'
/usr/local/hadoop/hadoop-2.8.0/sbin/stop-all.sh
jps
echo 'stop done'

参考

  1. Java环境
文章目录
  1. 1. Spark 集群搭建
    1. 1.1. 安装 Scala
    2. 1.2. 安装 Spark
      1. 1.2.1. 配置
      2. 1.2.2. 环境变量
      3. 1.2.3. 复制
    3. 1.3. 测试
    4. 1.4. 启动 PySpark
    5. 1.5. 脚本
    6. 1.6. 参考