一、spark-shell本地模式与集群模式的不同
1、启动方式:
本地模式:spark-shell后面不用写任何参数
集群模式:
a、spark-shell --master spark://master:7077
b、{SPARK_HOME}/conf目录下spark-defaults.conf,若没有,cp spark-defaults.conf.templete spark-defaults.conf
添加spark.master spark://master:7077,之后在命令行输入spark-shell不带参数,启动的也是集群模式
2、若是集群模式,master的端口7077一定要打开
3、web页面,本地模式下,启动spark-shell后8080端口页面不会有任何显示
集群模式下,8080web端口会有一个running applications
4、本地模式在本地运行,不运行在集群上
二、spark-shell与spark-submit的异同
spark-shell:交互式的,开发人员可以在上面进行编程,在运行时,会调用底层的spark-submit方法去执行
spark-submit:用于提交spark任务,提交在IDEA等编辑器中编译并打包生成的Jar包到集群环境中,并执行
三、spark-defaults-conf和spark-env.sh的配置项
spark-defualts.conf
| spark.master | spark://master:7077 |
|---|---|
| spark.default.parallelism | 10 |
| spark.driver.memory | 2g |
| spark.sql.shuffle.partitions | 50 |
spark-env.sh:
| spark_master_ip | 绑定一个外部ip给master |
|---|---|
| spark_master_port | 从另外一个端口启动master(默认:7077) |
| spark_mater_webui_port | master的web UI端口(默认:8080) |
| spark_worker_port | 启动spark worker的端口 |
| spark_worker_dir | 伸缩空间和日志输入的目录路径(默认:SPARK_HOME/work) |
| spark_worker_cores | 作业可使用的cpu内核数量 |
| spark_worker_memory | 作业可使用的内存容量 |
| spark_worker_webui_port | worker的web UI启动端口(默认:8081) |



