1 环境准备 1.1 JDK安装 1.1.1 版本
使用1.7或1.7以上版本的JDK1.1.2 安装
解压环境包:tar -zxvf jdk-7.tgz 移动到/data/下:mvjdk1.7 /data/jdk1.1.3 环境变量
执行命令 vi /etc/profile, 添加变量: export JAVA_HOME=/data/jdk export PATH=$PATH:$JAVA_HOME/bin exportCLASSPATH=.:$JAVA_HOME/jre/lib/:$JAVA_HOME/lib/ 执行命令: source /etc/profile使修改后的profile文件生效。1.1.4 验证
执行命令:java -version 成功显示java版本,则没有问题。1.2 hadoop安装
略,参考hadoop安装文档。1.3 Scala安装 1.3.1 版本
使用2.10或以上的版本。1.3.2 安装
解压环境包:tar -zvxf scala-2.10.6.tgz 移动到/data/下:mv scala-2.10.6 /data/scala1.3.3 环境变量
执行命令 vi /etc/profile, 添加变量: export SCALA_HOME=/data/scala export PATH=$PATH:$SCALA_HOME/bin 执行命令: source /etc/profile使修改后的profile文件生效。1.3.4 验证
执行命令:scala -version 成功显示scala版本,则没有问题。2 Spark安装 2.1 版本
到官方网站下载Spark稳定版本安装包:http://spark.apache.org/downloads.html。
目前使用的版本是:spark-1.6.0-bin-hadoop2.6 2.2 安装
解压命令再啰嗦下:tar -zxvf spark-1.6.0-bin-hadoop2.6.tgz
然后重命名:cp spark-1.6.0-bin-hadoop2.6 /data/spark 2.3 环境变量
Ø 执行命令 vi/etc/profile, 添加变量:
exportSPARK_HOME=/data/spark exportPATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin 执行命令: source/etc/profile使修改后的profile文件生效。2.4 修改配置 2.4.1 spark-env.sh
进入{SPARK_HOME}/conf目录下,复制一份spark-env.sh.template并更改文件名为spark-env.sh,并vim spark-env.sh 编辑:
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER-Dspark.deploy.zookeeper.url=localhost:2181-Dspark.deploy.zookeeper.dir=/spark"
export JAVA_HOME=/data/jdk
export SCALA_HOME=/data/scala
exportHADOOP_CONF_DIR=/data/hadoop/etc/hadoop
export SPARK_LOCAL_DIRS=/data/spark/tempdatas/spark_local_dirs
exportSPARK_PID_DIR=/data/spark/tempdatas/spark_local_dirs/pid
如果ssh端口不是默认的22,则在此文件中添加:
export SPARK_SSH_OPTS="-p 22080" 2.4.2 spark-defaults.conf
进入{SPARK_HOME}/conf目录下,复制一份spark-defaults.conf.template并更改文件名为spark-defaults.conf,并vimspark-defaults.conf 编辑:
spark.master spark://localhost:7077
spark.executor.memory 4g
spark.eventLog.enabled true
spark.serializer org.apache.spark.serializer.KryoSerializer
spark.eventLog.dir hdfs://localhost:9000/spark/logs
spark.history.fs.logDirectory hdfs://localhost:9000/spark/logs
spark.shuffle.service.enabled true
spark.logConf true
spark.eventLog.compress true
注:/spark/logs这个日志目录需要手动创建。 2.4.3 slave
进入{SPARK_HOME}/conf目录下,复制一份slaves.template并更改文件名为slaves,并vim slaves 编辑,将所有计算节点(非master节点)的主机名配置到slaves文件中:
localhost 2.4.4 启动进程
执行命令:start-history-server.sh 可查看程序进程历史运行时的情况。不是必须启动的进程,程序有性能问题时可以启动此进程来辅助排查。
注:如果使用yarn方式运行spark程序,则无需启动任何进程,由yarn去管理,也就是说不用执行下面的命令。
下面是standalone方式的启动和停止方式:
Ø 启动进程:
start-master.sh start-slaves.sh 用jps检查,在节点上应该有Master和Worker进程存在。 进入Spark的Web管理页面:http://localhost:8080Ø 停止进程
stop-slaves.sh stop-master.sh2.5 程序运行方式 2.5.1 local 模式
#本地模式两线程运行
./bin/run-example SparkPi 10 --masterlocal[2] 2.5.2 Spark Standalone
#集群模式运行
./bin/spark-submit \
–class org.apache.spark.examples.SparkPi \
–master spark://master:7077 \
lib/spark-examples-1.3.0-hadoop2.4.0.jar \
100
2.5.3 Spark on YARN
#集群上 yarn-cluster 模式运行
./bin/spark-submit \
–class org.apache.spark.examples.SparkPi \
–master yarn-cluster \ # canalso be yarn-client
--executor-memory4g \ --executor-cores4 \ --conf"spark.yarn.am.waitTime=1800s" \ --nameSpark_examples \lib/spark-examples*.jar \