![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=1738948014-uNyOD8Euw9W8yAn1NkxCu3ZYlb38MQSe-0-225856a1c6d2126d841a25345af503d2)
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=1738948014-MPPInzG6C69ElcWmuR5hqSQ46cRHhkPY-0-6c706182d5964bcfa54a59aff8aec080)
程序运行时,会有一个Warn提示,如下所示。
![](https://epubservercos.yuewen.com/16501E/19573973308593806/epubprivate/OEBPS/Images/978-7-111-65100-0_42_02.jpg?sign=1738948014-UuFpgZQzwKq4PnumswEkF5GF1YgKabh7-0-95b3bbb829c5ae3f562c1246aaa2907c)
解决办法是在/etc/profile中添加下面的内容。
![](https://epubservercos.yuewen.com/16501E/19573973308593806/epubprivate/OEBPS/Images/978-7-111-65100-0_42_03.jpg?sign=1738948014-IqhmIVAmkJGN71yJqeWu8AQ8exvzR74r-0-571cc96468ae7261ef729b2a1539ec9e)
切换到普通用户,运行下面的命令,使得配置生效。
![](https://epubservercos.yuewen.com/16501E/19573973308593806/epubprivate/OEBPS/Images/978-7-111-65100-0_42_04.jpg?sign=1738948014-8GTfV05oqNENpXqNWCGny4Fc80A0tSQb-0-954484b64da401a587d2a0e93f5e709b)
再次运行SparkPi,就不会有警告了。
Spark本地方式运行,不需要集群管理器。