Spark学习(1)

Spark框架概述

Spark是基于内存的运算,效率更高,语句更加简洁。

RDD 弹性分布式数据集,以实现通用性。

安装部署

运行环境与安装包不匹配的时候,就要对源代码进行编译或生成(SBT或Maven编译)。 make-distribution.sh

option param
–hadoop VERSION Hadoop版本号,默认1.0.4
–with-yarn 是否支持Hadoop YARN
–with-hive 是否在Spark SQL中支持hive
–skip-java-test 是否编译过程中略过java测试
–with-tachyon 是否支持文件系统Tachyon
–tgz 在根目录生成spark-$VERSION-bin.tgz的部署包, 若无此参数则只生成dist目录
– name 在根目录生成spark-$VERSION-bin-$NAME.tgz的部署包,与–tgz组合使用

例如:

  • 生成支持yarn、hadoop2.2.0的部署包:
    • ./make-distribution.sh –hadoop 2.2.0 –with-yarn –tgz
  • 生成支持yarn、hive的部署包
    • ./make-distribution.sh –hadoop 2.2.0 –with-yarn –with-hive –tgz

Spark Standalone 集群部署

  • Java 的安装
  • ssh 无密码登录
  • Spark 安装包解压
  • Spark配置文件配置
    • 文件 conf/slave
      • hadoop1
      • hadoop2
      • hadoop3
    • 文件 conf/spark-env.sh
      • export SPARK_MASTER_IP=hadoop1
      • export SPARK_MASTER_PORT=7077
      • export SPARK_WORKER_CORES=1
      • export SPARK_WORKER_INSTANCES=1
      • export SPARK_MEMORY=3g
  • Spark Standalone HA 部署
    • 基于文件系统的HA[有问题]
      • spark.deploy.recoveryMode 设置城FILESYSTEM
      • spark.deploy.recoveryDirectory Spark保存恢复状态的目录
      • Spark-env.sh里对SPARK_DAEMON_JAVA_OPTS 设置
      • export SPARK_DAEMON_JAVA_OPTS=”-Dspark.deploy.recoverMode=FILESYSTEM -D spark.deploy.recoveryDirectory=/app/hadoop/spark/spark100/recovery”
    • 基于zookeeper的HA 参考博客
      • spark.deploy.recoveryMode 设置成ZOOKEEPER
      • spark.deploy.zookeeper.url ZooKeeper URL
      • spark.deploy.zookeeper.dir Zookeeper保存恢复状态的目录,缺省为/spark
      • spark-env里对SPARK_DAEMON_JAVA_OPTS设置
      • export SPARK_DAEMON_JAVA_OPTS=”-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop1:2181,hadoop2:2181,hadoop3:2181 -Dspark.deploy.zookeeper.dir=/spark”

Spark Standalone 伪分布式部署

Spark工具介绍

  • Spark 交互工具spark-shell
  • Spark 应用程序部署工具spark-submit
  • 参数说明
  • J
1