![Spark大数据编程实用教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/942/36922942/b_36922942.jpg)
上QQ阅读APP看书,第一时间看更新
2.3 运行Spark程序(Local方式)
Spark程序运行方式有两种:
1)第一种为本地运行(Local),Spark程序只在本地运行,不在其他节点运行。此方式经常被用于调试和快速验证;
2)第二种为分布式运行,Spark程序会分布到多个节点上运行,常用于生产环境。
本节以 Spark 自带的圆周率计算示例 SparkPi 为例,介绍Spark程序的本地运行方式。不管是哪种模式,Spark程序运行后,都有Client、Driver和Executor三种角色。
Spark Local运行方式示例——SparkPi。
Spark 软件包中有一个 spark-examples_2.11-2.3.0.jar,它是 Spark 自带示例的 jar 包,下面就以其中的SparkPi为例,介绍Spark程序的本地(Local)运行方式。
运行SparkPi的具体命令如下。
![](https://epubservercos.yuewen.com/16501E/19573973308593806/epubprivate/OEBPS/Images/978-7-111-65100-0_41_02.jpg?sign=1739272614-hKYQrnIvrOEatMcuYqexvfBXiWc6N6ER-0-5a691be6c817ac36143581ffb883985e)
SparkPi的程序参数说明如下。
●--class org.apache.spark.examples.SparkPi,指明此次运行程序的Main Class;
●--master local,表示此Spark程序Local运行;
●examples/jars/spark-examples_2.11-2.3.0.jar,为Spark示例的jar包;
●10,表示迭代10次。
如果输出以下结果,说明计算成功。
![](https://epubservercos.yuewen.com/16501E/19573973308593806/epubprivate/OEBPS/Images/978-7-111-65100-0_42_01.jpg?sign=1739272614-B3Ql6IuiOHPR0lwXq7NJXYgl2cjfS5Oj-0-b0666577d91587d3af2368a164d871fb)
程序运行时,会有一个Warn提示,如下所示。
![](https://epubservercos.yuewen.com/16501E/19573973308593806/epubprivate/OEBPS/Images/978-7-111-65100-0_42_02.jpg?sign=1739272614-MYJfa1NT2mgXsBeO9tndHZnPfOeA7QXQ-0-eafdc1a23e7db42eafc7f9a9e982d13e)
解决办法是在/etc/profile中添加下面的内容。
![](https://epubservercos.yuewen.com/16501E/19573973308593806/epubprivate/OEBPS/Images/978-7-111-65100-0_42_03.jpg?sign=1739272614-ysertxuqyg6o1IANIDr0gG28EOnhTOH8-0-a6a7968558870c5d2e79bff51430aaa9)
切换到普通用户,运行下面的命令,使得配置生效。
![](https://epubservercos.yuewen.com/16501E/19573973308593806/epubprivate/OEBPS/Images/978-7-111-65100-0_42_04.jpg?sign=1739272614-acB44sg30SQafVrlV2IIrGb2hT4kzmrL-0-8bacf28cd50d1cad87f33cc125d43435)
再次运行SparkPi,就不会有警告了。
Spark本地方式运行,不需要集群管理器。