一、概要
Apache Spark是一个快速和通用的集群计算系统。 它提供Java,Scala和Python中的高级API,以及支持一般执行图形的优化引擎。 它还支持一组丰富的高级工具,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLlib,用于图形处理的GraphX以及Spark Streaming。
二、下载从项目网站的下载页面获取Spark。 本文档适用于Spark 1.3.1版本。 下载页面包含许多流行HDFS版本的Spark软件包。 如果你想从头开始构建Spark,请访问Building Spark。
Spark在Windows和类UNIX系统(例如Linux,Mac OS)上运行。 它很容易在一台机器上本地运行 - 你所需要的是在系统PATH上安装java,或者JAVA_HOME环境变量指向Java安装。
Spark在Java 6+和Python 2.6+上运行。 对于Scala API,Spark 1.3.1使用Scala 2.10。 您将需要使用兼容的Scala版本(2.10.x)。 三spark安装下载解压
3.1、local单机模式:不需要做任何操作, 直接可以运行实例程序
cd /opt/spark-1.3.1-bin-hadoop2.4
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[1] ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
运行结果:Pi is roughly is 3.14.26324
:
需要的配置项 1, slaves文件 2, spark-env.shexport JAVA_HOME=/usr/java/jdk1.7.0_79
export SPARK_MASTER_IP=masterHA
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=1g
cluster和client运行模式,cluster适合生产,driver运行在集群子节点,具有容错功能,client适合调试,dirver运行在客户端
3.2.1、 clinet模式
结果xshell可见:
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark001:7077 --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
3.2.2 cluster模式
结果masterHA:8080里面可见!
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark001:7077 --deploy-mode cluster --supervise --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
3.2.3client与cluster模式的区别:
执行方式
cluster模式多一个下面设置
--deploy-mode cluster
Spark的几种安装模式
local单机模式:
结果xshell可见:
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[1] ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
standalone集群模式:
需要的配置项
1, slaves文件
2, spark-env.sh
export JAVA_HOME=/usr/soft/jdk1.7.0_71
export SPARK_MASTER_IP=spark001
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=1g
standalone集群模式:
之client模式:
结果xshell可见:
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark001:7077 --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
standalone集群模式:
之cluster模式:
结果spark001:8080里面可见!
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark001:7077 --deploy-mode cluster --supervise --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
Yarn集群模式:
需要的配置项
1, spark-env.sh
export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
export YARN_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
export SPARK_HOME=/usr/hadoopsoft/spark-1.3.1-bin-hadoop2.4
export SPARK_JAR=/usr/hadoopsoft/spark-1.3.1-bin-hadoop2.4/lib/spark-assembly-1.3.1-hadoop2.4.0.jar
export PATH=$SPARK_HOME/bin:$PATH
2, ~/.bash_profile
配置好hadoop环境变量
Yarn集群模式:
client模式:
结果xshell可见:
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client --executor-memory 1G --num-executors 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
Yarn集群模式:
cluster模式:
结果spark001:8088里面可见!
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster --executor-memory 1G --num-executors 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100