spark的安装

1,要求你已经成功把Hadoop集群安装完毕,并经过测试,如果不知道如何编译安装Hadoop请参考散仙的这篇文章http://qindongliang.iteye.com/blog/2222145

2,安装Scala2.10.x版本,spark1.4.0最新版本的兼容2.10.x的scala,建议还是安装scala2.10.x的,虽然scala最新的版本是2.11.x了

安装方法:

(1) wget http://downloads.typesafe.com/scala/2.10.4/scala2.10.5.tgz_ga=1.83310549.215870088.1434449855
(2)tar -zxvf scala.xxx.tgz
(3)配置环境变量如下:

Java代码 复制代码  收藏代码
  1. export SCALA_HOME=/ROOT/server/scala-2.10.4  
  2. export PATH=$PATH:$SCALA_HOME/bin  
export SCALA_HOME=/ROOT/server/scala-2.10.4
export PATH=$PATH:$SCALA_HOME/bin


(4)测试scala

Java代码 复制代码  收藏代码
  1. [webmaster@any-hadoop-0 ~]$ scala -version   
  2. Scala code runner version 2.10.4 -- Copyright 2002-2013, LAMP/EPFL  
  3.   
  4. [webmaster@any-hadoop-0 ~]$ scala  
  5. Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_79).  
  6. Type in expressions to have them evaluated.  
  7. Type :help for more information.  
  8.   
  9. scala> print("scala install success")  
  10. scala install success  
  11. scala>   
[webmaster@any-hadoop-0 ~]$ scala -version 
Scala code runner version 2.10.4 -- Copyright 2002-2013, LAMP/EPFL

[webmaster@any-hadoop-0 ~]$ scala
Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_79).
Type in expressions to have them evaluated.
Type :help for more information.

scala> print("scala install success")
scala install success
scala> 




3,安装spark

(1)wget 下载hadoop对应版本的二进制包,散仙这里是hadoop2.6.0
wget http://archive.apache.org/dist/spark/spark-1.4.0/spark-1.4.0-bin-hadoop2.6.tgz

(2)解压到某个目录下,并命名为spark,下载下来的包名有点繁琐
(3)配置Spark的环境变量:

Java代码 复制代码  收藏代码
  1. export SPARK_HOME=/ROOT/server/spark  
  2. export PATH=$PATH:$SPARK_HOME/bin  
export SPARK_HOME=/ROOT/server/spark
export PATH=$PATH:$SPARK_HOME/bin



(4)进入spark/conf目录下,执行命令

Java代码 复制代码  收藏代码
  1. mv spark-env.sh..template spark-env.sh  
  2. mv slaves.template slaves   
mv spark-env.sh..template spark-env.sh
mv slaves.template slaves 



(5)配置spark-env.sh,使用vi spark-env.sh编译此文件,在文末添加如下几行:

Java代码 复制代码  收藏代码
  1. export SCALA_HOME=/ROOT/server/scala-2.10.4  
  2. export JAVA_HOME=$JAVA_HOME  
  3. export HADOOP_HOME=/ROOT/server/hadoop  
  4. export HADOOP_CONF_DIR=/ROOT/server/hadoop/etc/hadoop  
  5. export SPARK_MASTER_IP=master  
  6. export SPARK_DRIVER_MEMORY=1G  
export SCALA_HOME=/ROOT/server/scala-2.10.4
export JAVA_HOME=$JAVA_HOME
export HADOOP_HOME=/ROOT/server/hadoop
export HADOOP_CONF_DIR=/ROOT/server/hadoop/etc/hadoop
export SPARK_MASTER_IP=master
export SPARK_DRIVER_MEMORY=1G


(6)配置slaves

Java代码 复制代码  收藏代码
  1. master  
  2. slave1  
  3. slave2  
master
slave1
slave2



(7)执行scp命令,将环境变量,以及scala,spark的目录包,发送到各个节点上


(8)进入spark的根目录(因为hadoop的启动命令,跟这名字一样,所以,为避免冲突),执行sbin/start-all.sh启动spark集群;






(9)访问http://ip:8080查看spark的web界面



4,spark运行例子:

(1)本地模式运行

Java代码 复制代码  收藏代码
  1. bin/run-example SparkPi 10 --master local[2]  
bin/run-example SparkPi 10 --master local[2]



(2)Spark Standalone集群运行:

Java代码 复制代码  收藏代码
  1. bin/spark-submit  --class org.apache.spark.examples.SparkPi --master spark://master:7077 lib/spark-examples-1.4.0-hadoop2.6.0.jar  100  
bin/spark-submit  --class org.apache.spark.examples.SparkPi --master spark://master:7077 lib/spark-examples-1.4.0-hadoop2.6.0.jar  100


运行完,在spark的8080界面可以查看任务:




(3)在spark on yarn上 以yarn-cluster模式运行:

Java代码 复制代码  收藏代码
  1. bin/spark-submit  --class org.apache.spark.examples.SparkPi --master yarn-cluster lib/spark-examples*.jar  10   
bin/spark-submit  --class org.apache.spark.examples.SparkPi --master yarn-cluster lib/spark-examples*.jar  10 



(5)以yarn-client模式运行:

Java代码 复制代码  收藏代码
  1. bin/spark-submit  --class org.apache.spark.examples.SparkPi --master yarn-client lib/spark-examples*.jar  10   
 bin/spark-submit  --class org.apache.spark.examples.SparkPi --master yarn-client lib/spark-examples*.jar  10 



运行完,在hadoop的8088界面监控如下:



yarn-cluster与yarn-client的区别?

前者是后台挂起的方式运行,终端关了,对我这个任务不影响
后者是交互式的方式运行,终端关了,这个任务就被kill了

猜你喜欢

转载自weitao1026.iteye.com/blog/2268079