spark
spark是什么
Spark介绍及本地模式、集群模式安装
2016-4-9yangyufansSpark
1、Spark是什么?
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
2、Spark API
Spark支持4中语言的API分别是:Python、Scala、R语言、Java
3、Spark的共享数据快
1)基于内存计算
2)DAG优化
4、Spark安装
a、准备环境 CentOS 6.5、hadoop-2.5.1、zookeeper-3.4.6、spark-1.3.1
|
node0
|
node1
|
node2
|
node3
|
zookeeper
|
Y
|
Y
|
Y
|
|
hadoop
|
Y
|
Y
|
Y
|
Y
|
spark
|
|
Y
|
Y
|
Y
|
ssh-keygen -t dsa -P ' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
c、下载spark安装包,解压并将解压的目录拷贝到/usr/local/目录下
d、进入/usr/local/spark-1.3.1/conf
e、修改配置文件 slaves文件 添加
node1
node2
node3
f、修改spark-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_79
export SPARK_MASTER_IP=node1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_HOME=/usr/local/spark-1.3.1-bin-hadoop2.4
export SPARK_JAR=/usr/local/spark-1.3.1-bin-hadoop2.4/lib/spark-assembly-1.3.1-hadoop2.4.0.jar
export PATH=$SPARK_HOME/bin:$PATH
注意:$HADOOP_HOME 需要在~/.bash_profile 配置hadoop环境变量
g、分别启动zookeeper、hadoop、spark
#启动zookeeper
zkServer.sh start
#启动hadoop
start-all.sh
#启动spark(需要进入spark目录中启动)
./sbin/start-all.sh
h、浏览器中访问
5、spark运行模式
a、local单机模式,结果xhell可见
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[1] ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
b、standalone集群模式
client模式,结果xhell可见
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://node1:7077 --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
cluster模式,结果node1:8080里面可见
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://node1:7077 --deploy-mode cluster --supervise --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
c、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
cluster模式,结果node0: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