Spark环境搭建(多种模式)

个人博客原文链接

Spark环境的搭建相比于Hadoop集群的搭建还是比较简单的,而且跟Hadoop集群的搭建流程也很相似,只是没有Hadoop集群那么多的配置文件要修改。本文中,我将详细介绍Spark的本地模式、Standalone模式(伪分布)、Standalone模式(全分布)、Yarn集群模式的搭建。

搭建环境:CentOS7+jdk8+spark2.3.2+hadoop2.7

Local本地模式

  1. 上传并解压spark2.3.2到指定目录
    tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C apps/
  2. 添加软链接
    ln -s spark-2.3.2-bin-hadoop2.7 spark
  3. 修改环境变量
    vi ~/.bashrc
    添加
export SPARK_HOME=/home/hadoop/apps/spark
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$SPARK_HOME/bin:$JAVA_HOME/bin

source ~/.bashrc
注:此处必须要添加JAVA_HOME的路径,虽然你可能已经在/etc/profile例配置了JAVA_HOME,但是Spark识别不到,后面启动会报找不到JAVA_HOME的错误,所以这里必须再次添加一下JAVA_HOME的路径。
4. 测试是否安装成功
测试运行样例
run-example SparkPi 10
测试shell
spark-shell
测试spark-submit命令
spark-submit --class org.apache.spark.examples.SparkPi /home/hadoop/apps/spark/examples/jars/spark-examples_2.11-2.3.2.jar 100

Standalone模式(伪分布)

  1. 上传并解压spark2.3.2到指定目录
    tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C apps/
  2. 添加软链接
    ln -s spark-2.3.2-bin-hadoop2.7 spark
  3. 修改环境变量
    vi ~/.bashrc
    添加
export SPARK_HOME=/home/hadoop/apps/spark
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$SPARK_HOME/bin:$JAVA_HOME/bin

source ~/.bashrc
注:此处必须要添加JAVA_HOME的路径,虽然你可能已经在/etc/profile例配置了JAVA_HOME,但是Spark识别不到,后面启动会报找不到JAVA_HOME的错误,所以这里必须再次添加一下JAVA_HOME的路径。
4. 修改配置文件spark-env.sh
cd /home/hadoop/apps/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
在最下面添加

# hadoop1是主节点,即本机的主机名
export SPARK_MASTER_HOST=hadoop1
# 默认端口号为7077
export SPARK_MASTER_PORT=7077
  1. 启动集群
    进入sbin目录
    cd /home/hadoop/apps/spark/sbin
    启动master
    ./start-master.sh
    启动slave
    ./start-slave.sh spark://hadoop1:7077
  2. 查看是否启动成功
    jps
  3. 查看集群资源页面
    打开网页hadoop1:8080
  4. 进入集群的shell
    spark-shell --master spark://hadoop1:7077

Standalone模式(全分布)

  1. 上传并解压spark2.3.2到指定目录
    tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C apps/
  2. 添加软链接
    ln -s spark-2.3.2-bin-hadoop2.7 spark
  3. 修改环境变量
    vi ~/.bashrc
    添加
export SPARK_HOME=/home/hadoop/apps/spark
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$SPARK_HOME/bin:$JAVA_HOME/bin

source ~/.bashrc
注:此处必须要添加JAVA_HOME的路径,虽然你可能已经在/etc/profile例配置了JAVA_HOME,但是Spark识别不到,后面启动会报找不到JAVA_HOME的错误,所以这里必须再次添加一下JAVA_HOME的路径。
4. 修改配置文件spark-env.sh
cd /home/hadoop/apps/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
在最下面添加

# hadoop1是主节点,即本机的主机名
export SPARK_MASTER_HOST=hadoop1
# 默认端口号为7077
export SPARK_MASTER_PORT=7077
  1. 修改配置文件slaves
    cd /home/hadoop/apps/spark/conf
    cp slaves.template slaves
    vi slaves
    删除原有节点,添加从节点主机名
hadoop2
hadoop3
hadoop4
  1. 将整个spark文件发送到各个从节点
    scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop2:/home/hadoop/apps/
    scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop3:/home/hadoop/apps/
    scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop4:/home/hadoop/apps/
  2. 在各个从节点重复2、3步操作
  3. 启动集群
    进入sbin目录
    cd /home/hadoop/apps/spark/sbin
    启动master
    ./start-master.sh
    启动slave
    ./start-slaves.sh spark://hadoop1:7077
  4. 查看是否启动成功
    jps
  5. 查看集群资源页面
    打开网页hadoop1:8080
  6. 进入集群的shell
    spark-shell --master spark://hadoop1:7077

Yarn集群模式

  1. 上传并解压spark2.3.2到指定目录
    tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C apps/
  2. 添加软链接
    ln -s spark-2.3.2-bin-hadoop2.7 spark
  3. 修改环境变量
    vi ~/.bashrc
    添加
export SPARK_HOME=/home/hadoop/apps/spark
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$SPARK_HOME/bin:$JAVA_HOME/bin

source ~/.bashrc
注:此处必须要添加JAVA_HOME的路径,虽然你可能已经在/etc/profile例配置了JAVA_HOME,但是Spark识别不到,后面启动会报找不到JAVA_HOME的错误,所以这里必须再次添加一下JAVA_HOME的路径。
4. 修改配置文件spark-env.sh
cd /home/hadoop/apps/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
在最下面添加

# hadoop1是主节点,即本机的主机名
export SPARK_MASTER_HOST=hadoop1
# 默认端口号为7077
export SPARK_MASTER_PORT=7077
# 添加hadoop的配置目录
export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.1/etc/hadoop
  1. 优化配置-修改spark-defaults.conf
    cd /home/hadoop/apps/spark/conf
    cp spark-defaults.conf.template spark-defaults.conf
    vi spark-defaults.conf
    添加
# 将spark的类库 jar包上传到hdfs上,省的每次都上传
spark.yarn.jars hdfs://hadoop1:9000/sparklib/jars/*
  1. 修改配置文件slaves
    cd /home/hadoop/apps/spark/conf
    cp slaves.template slaves
    vi slaves
    删除原有节点,添加从节点主机名
hadoop2
hadoop3
hadoop4
  1. 将整个spark文件发送到各个从节点
    scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop2:/home/hadoop/apps/
    scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop3:/home/hadoop/apps/
    scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop4:/home/hadoop/apps/
  2. 在各个从节点重复2.3步操作
  3. 启动hadoop的yarn集群
    start-yarn.sh
  4. 启动spark集群
    进入sbin目录
    cd /home/hadoop/apps/spark/sbin
    启动master
    ./start-master.sh
    启动slave
    ./start-slaves.sh spark://hadoop1:7077
  5. 查看是否启动成功
    jps
  6. 查看集群资源页面
    打开网页hadoop1:8080
  7. 进入集群的shell
    spark-shell --master yarn

你可能感兴趣的:(大数据)