数据平台安装配置-Spark on Yarn

前提: Hadoop on YARN 提前安装完成

Scala 安装

安装路径:

解压压缩文件到 ~/workspace/ 下

修改环境变量:

1
2
3
$ vim ~/.bashrc
export SCALA_HOME=$HOME/workspace/scala-2.11.7
export PATH=$SCALA_HOME/jre/bin:$PATH

配置生效:

1
source ~/.bashrc

验证安装:

1
scala -version

Spark 安装


解压压缩文件到 ~/workspace 下

修改环境变量

1
2
3
4
$ vim ~/.bashrc
export SPARK_HOME=/home/hadoop/workspace/spark-1.5.1
export CLASSPATH=.:$SPARK_HOME/lib:$CLASSPATH
export PATH=$SPARK_HOME/bin:$PATH

配置生效:

1
source ~/.bashrc

修改 Spark 配置

  1. 配置文件在 ~/workspace/spark-1.5.1/conf

    1
    2
    3
    cd ~/workspace/spark-1.5.1/conf #进入spark配置目录
    cp spark-env.sh.template spark-env.sh #从配置模板复制
    vim spark-env.sh #添加配置内容
  2. spark-env.sh 末尾增加:

    1
    2
    3
    SPARK_MASTER_IP=h16
    SPARK_LOCAL_DIRS=/home/hadoop/workspace/spark-1.5.1
    SPARK_DRIVER_MEMORY=1G
  3. slaves 增加 slave host:

    1
    2
    3
    h16
    h17
    h18
  4. .bashrcspark-1.5.1 分发到各个 slave 服务器上:

    1
    2
    3
    4
    scp ~/.bashrc h17:/home/hadoop
    scp ~/.bashrc h18:/home/hadoop
    scp -r ~/workspace/spark-1.5.1 h17:/home/hadoop/workspace
    scp -r ~/workspace/spark-1.5.1 h18:/home/hadoop/workspace

提示: 在设置Worker进程的CPU个数和内存大小, 要注意机器的实际硬件条件, 如果配置的超过当前Worker节点的硬件条件, Worker 进程会启动失败.

Spark 启动


master(h16) 上启动 spark

1
sbin/start-all.sh

  • 验证启动情况:

    Master 服务器上查看(匹配 80%)

    1
    2
    3
    4
    5
    6
    jps # h16
    13971 NameNode
    14326 SecondaryNameNode
    31036 Jps
    14519 ResourceManager
    16722 Master

    Worker 服务器上查看(匹配 80%)

    1
    2
    3
    4
    5
    jps # h16
    14642 NodeManager
    14123 DataNode
    31036 Jps
    16901 Worker

在 浏览器上打开 h16:8080, 可以查看 spark on yarn 的管理状态.

运行示例


Spark on YARN 支持两种运行模式, 分别为 yarn-clusteryarn-client.
从广义上讲, yarn-cluster 适用于生产环境; yarn-client 适用于交互和调试.

  • 本地模式两线程运行

    1
    ./bin/run-example SparkPi 10 --master h16
  • Spark Standalone 集群模式运行

    1
    2
    3
    4
    5
    ./bin/spark-submit \
    --class org.apache.spark.examples.SparkPi \
    --master spark://h16:7077 \
    lib/spark-examples-1.5.1-hadoop2.6.0.jar \
    100
  • Spark on YARN 集群上 yarn-cluster 模式运行

    1
    2
    3
    4
    5
    ./bin/spark-submit \
    --class org.apache.spark.examples.SparkPi \
    --master yarn-cluster \ # can also be `yarn-client`
    lib/spark-examples*.jar \
    10

参考资料


Spark On YARN 集群安装部署