1.下载并解压安装包
下载地址:https://spark.apache.org/downloads.html
解压之后的文件夹目录:
2. 修改配置文件
-
slaves:
mv slaves.template slaves
spark-env.sh
mv spark-env.sh.template spark-env.sh
SPARK_MASTER_HOST=centos134
SPARK_MASTER_PORT=7077
YARN_CONF_DIR=/opt/hadoop-2.7.2/etc/hadoop
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=hdfs://centos134:9000/directory"
- spark-default.conf
mv spark-defaults.conf.template spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://centos134:9000/directory
spark.yarn.historyServer.address=centos134:18080
spark.history.ui.port=18080
- 修改hadoop配置文件yarn-site.xml(注意这是hadoop的配置文件)
<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
- 在hdfs上面创建文件夹
hadoop fs –mkdir /directory
相关参数说明
- spark.eventLog.dir=hdfs://centos134:9000/directory:Application在运行过程中所有的信息均记录在该属性指定的路径下;
- spark.history.ui.port=18080:WEBUI访问的端口号为18080
- spark.history.fs.logDirectory=hdfs://centos134:9000/directory:配置了该属性后,在start-history-server.sh时就无需再显式的指定路径,Spark History Server页面只展示该指定路径下的信息
- spark.history.retainedApplications=30:指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。
- YARN_CONF_DIR=/opt/hadoop-2.7.2/etc/hadoop:跑在yean上时需要配置的参数
复制安装文件夹到每台节点
3. 启动相关
sbin/start-all.sh
网页查看:centos134:8080
启动历史服务
sbin/start-history-server.sh
http://192.168.126.134:18080/
4. 运行求pi案例
4.1 local
bin/spark-submit --class org.apache.spark.examples.SparkPi --executor-memory 0.5G --total-executor-cores 1 ./examples/jars/spark-examples_2.11-2.1.1.jar 100
4.2 standalone
bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://centos134:7077 --executor-memory 1G --total-executor-cores 1 ./examples/jars/spark-examples_2.11-2.1.1.jar 100
4.3 yarn
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.11-2.1.1.jar 100
三种模式说明
参数说明
- --master 指定Master的地址,默认为Local
- --class: 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)
- --deploy-mode: 是否发布你的驱动到worker节点(cluster) 或者作为一个本地客户端 (client) (default: client)*
- --conf: 任意的Spark配置属性, 格式key=value. 如果值包含空格,可以加引号“key=value”
- application-jar: 打包好的应用jar,包含依赖. 这个URL在集群中全局可见。 比如hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的path都包含同样的jar
- application-arguments: 传给main()方法的参数
- --executor-memory 1G 指定每个executor可用内存为1G
- --total-executor-cores 2 指定每个executor使用的cup核数为2个