1、 在安装spark之前需要先安装JDK和scala环境,hadoop环境
2、 解压安装即可
1、 解压安装,配置环境变量(通过spark-shell来测试有没有安装成功)
2、 在conf/spark-env.sh下配置
master节点的配置
SPARK_MASTER_HOST=node1
SPARK_MASTER_PORT=7077
SPARK_MASTER_WEBUI_PORT=8888
3、 在conf/slaves下配置
worker节点
node1
4、 在sbin/spark-config.sh下配置
export JAVA_HOME=/opt/app/jdk1.8.0_321
5、 在sbin/start-all.sh stop-all.sh下对其重命名
重命名 防止和hadoop启动关闭脚本名冲突
mv start-all.sh start-spark-all.sh
mv stop-all.sh stop-spark-all.sh
1、 在conf/spark-default.conf下配置
spark.master spark://node1:7077
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node1:9000/spark-history
spark.eventLog.compress true
2、 在conf/spark-env.sh下配置
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://node1:9000/spark-history"
注意点:日志存储目录在hdfs上必须提前存在
启动命令:start-history-server.sh
1、 配置spark中的内容,在conf/spark-env.sh下配置
HADOOP_CONF_DIR=/opt/app/hadoop-2.8.5/etc/hadoop
YARN_CONF_DIR=/opt/app/hadoop-2.8.5/etc/hadoop
2、 配置hadoop中的内容, 在etc/hadoop/yarn-site.xml下配置
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
在真实的项目开发过程中,spark编写的大数据处理分析代码都是在idea或者其他开发环境中编写好的代码,这样的代码我们我们最终都会打成一个jar包,然后放到大数据环境中
1、 本地
spark-submit --class org.apache.spark.examples.SparkPi --master local[2] /opt/app/spark-2.3.1/examples/jars/spark-examples_2.11-2.3.1.jar 100
2、 standalone
必须把spark的自带独立调度器启动了 --master worker (start-spark-all.sh)
spark-submit --class org.apache.spark.examples.SparkPi --master spark://node1:7077 /opt/app/spark-2.3.1/examples/jars/spark-examples_2.11-2.3.1.jar 100
3、 yarn
必须把yarn启动了
spark-submit --class org.apache.spark.examples-SparkPi --master yarn --deploy-mode client /opt/app/spark-2.3.1/examples/jar 100
1、 流程
1、 编写spark计算程序处理分析数据
2、 将计算程序打成jar包
3、 将jar包上传到服务器上
4、 借助spark-submit命令去运行spark计算程序并且指定运行在什么之上
2、 spark-sumbit命令语法
spark-submit
--class jar包中可以运行的类的全限定类名
--master 指定spark程序运行在什么之上 local/local[n]/local[*] spark://masterHost:7077 yarn mesos
--deploy-mode 部署运行模式 只有master是yarn的时候加这个选型 client/cluster
--conf key-value(不加,一般在程序中加好了)
jar包路径
main方法的需要的实参列表