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)配置环境变量如下:
export SCALA_HOME=/ROOT/server/scala-2.10.4 export PATH=$PATH:$SCALA_HOME/bin
(4)测试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的环境变量:
export SPARK_HOME=/ROOT/server/spark export PATH=$PATH:$SPARK_HOME/bin
(4)进入spark/conf目录下,执行命令
mv spark-env.sh..template spark-env.sh mv slaves.template slaves
(5)配置spark-env.sh,使用vi spark-env.sh编译此文件,在文末添加如下几行:
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
master slave1 slave2
(7)执行scp命令,将环境变量,以及scala,spark的目录包,发送到各个节点上
(8)进入spark的根目录(因为hadoop的启动命令,跟这名字一样,所以,为避免冲突),执行sbin/start-all.sh启动spark集群;
(9)访问http://ip:8080查看spark的web界面
4,spark运行例子:
(1)本地模式运行
bin/run-example SparkPi 10 --master local[2]
(2)Spark Standalone集群运行:
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模式运行:
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster lib/spark-examples*.jar 10
(5)以yarn-client模式运行:
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client lib/spark-examples*.jar 10
运行完,在hadoop的8088界面监控如下:
yarn-cluster与yarn-client的区别?
前者是后台挂起的方式运行,终端关了,对我这个任务不影响
后者是交互式的方式运行,终端关了,这个任务就被kill了
最后欢迎大家扫码关注微信公众号:我是攻城师(woshigcs),我们一起学习,进步和交流!(woshigcs)
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!