1.首先安装好java,hadoop
2.安装与要安装的spark对应版本的scala,scala安装基本步骤与Java一致,下载解压改名添加SCALA_HOME
3.下载解压spark安装包
4.修改spark配置
进到spark安装目录下的conf目录下,将spark-env.sh.template,log4j.properties.template和slaves.template改名
mv spark-env.sh.template spark-env.sh
mv slaves.template slaves
mv log4j.properties.template log4j.properties
先修改slaves文件,在slaves中删掉原来的localhost,加入你想要成为Worker节点的主机名,保存退出。
修改spark-env.sh,添加如下各项:各项路径自己对应好
export SPARK_DIST_CLASSPATH=$(/app/hadoop-2.7.1/bin/hadoop classpath)
export JAVA_HOME=/app/jdk1.7
export SCALA_HOME=/app/scala-2.10.5
export HADOOP_HOME=/app/hadoop-2.7.1
export HADOOP_CONF_DIR=/app/hadoop-2.7.1/etc/hadoop
export SPARK_MASTER_IP=master
export SPARK_WORKER_MEMORY=2g
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
其中:
- SPARK_DIST_CLASSPATH:使用hadoop想关的jar包
- JAVA_HOME:Java安装目录
- SCALA_HOME:Scala安装目录
- HADOOP_HOME:hadoop安装目录
- HADOOP_CONF_DIR:hadoop集群的配置文件的目录
- SPARK_MASTER_IP:spark集群的Master节点的ip地址 ,修改hosts的情况下写主机名也行
- SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小
- SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目
- SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目
修改log4j.properties,将日志的输出级别设置为WARN
5.启动与关闭Spark
启动spark前只需要启动hadoop 的hdfs
然后在spark的sbin目录下使用以下命令即可启动spark
./start-all.sh
关闭使用stop-all.sh
6.Spark-shell
进入spark安装目录下的bin目录,直接在命令行敲入spark-shell就能启动,可以看到spark版本和scala版本。
退出spark shell只需输入exit
7.Spak-submit:
可以提交包含你编写的程序的压缩包到集群运行,因为一些配置都已经写在了spark-env.sh中并且也将spark 的bin目录添加
到了/etc/profile,因此,spark-submit的命令可以变为:
spark-submit --class 主类名称 /本地目录名/包名 输入路径 输出路径 (最后两个可选,自己在程序中处理)