spark-HA 高可用,yarn

1.配置spark-env.sh

# 配置大哥;在二哥上面,MASTER_PORT=指的是自己
SPARK_MASTER_HOST=hadoop102
# 设置zookeepr,不能换行
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop101:2181,hadoop102:2181,hadoop103:2181 -Dspark.deploy.zookeeper.dir=/spark"
# 告诉Spark,hadoop放到哪里面了,前题是每一个Spark,的服务器上都装有hadoop
HADOOP_CONF_DIR=/data/hadoop/hadoop-3.2.1/etc/hadoop/

配置二哥MASTER_PORT=指的是自己
SPARK_MASTER_HOST=hadoop101

2.配置slaves

#配置的小弟
hadoop103
hadoop104

3.启动

  1. 启动zookeeper
bin/zkServer.sh
  1. 启动hadoop
sbin/start-all.sh
  1. 启动spark
sbin/start-all.sh

停止spark

sbin/stop-all.sh

注意查看spark的web端的时候,由于启动了zookeeper,spark的端口与zookeeper的端口冲突,spark会把端口改成8081,在logs日志中会显示

在这里插入图片描述

# 查看网络的状态;是zookeeper占用了8080端口
netstat -anp|grep 8080

在这里插入图片描述在这里插入图片描述

启动二哥在hadoop101上启动

sbin/start-master.sh

在这里插入图片描述
4.配置历史服务器
配置文件:(复制spark-defaults.conf.template为spark-defaults.conf);

# 作用:bin/spark-submit 后面跟了一大堆参数;这些参数如果放到了这个文件中;每次运行spark-submit的时候,会自动的从这个文件找参数;
# 这个文件只需要放到运行bin/spark-submit的服务器上就可以(建议四台机器一块放)
# 空格左边的叫键,右边叫值; 它会在bin/spark-submit后面的参数前面 加上spark;
# spark standlone 的大哥
spark.master                     spark://hadoop102:7077

# executor 的内存; 如果这里面要是木有,就还加上bin/spark-submit的参数上
spark.executor.memory			 500m

# 启用历史服务器
spark.eventLog.enabled           true

# 历史服务器会写一些日志,这个目录是日志的存储目录(如果目录不存在,得创建)
#必须是活着的 hdf 节点
spark.eventLog.dir               hdfs://hadoop101:8020/spark/logs

# 读取目录
spark.history.fs.logDirectory	 hdfs://node7-1:8020/spark/logs

程序命令

bin/spark-submit \
--master spark://node7-2:7077 \
--name myPi \
--executor-memory 500m \
--total-executor-cores 2 \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.4.4.jar \
100
# 会自动的从spark-defaults.conf加载文件
# 省略了--master spark://node7-2:7077 挪到了spark-defaults.conf
bin/spark-submit  --name myPi --executor-memory 500m --total-executor-cores 2 --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.4.4.jar 100

启动历史服务器(一般来说:历史服务器是在客户端上启动;hadoop101)

sbin/start-history-server.sh

停止历史服务器

sbin/stop-history-server.sh

Spark历史服务器 web 端口在logs日志中会提到 18080
Spark历史服务器放日志文件中存储的格式是json
在这里插入图片描述
5.运行示例

# --master:把任务提交给大哥;
# --executor-memory:指定executor的内存;
# --executor-cores:指定executor的cpu,核心
bin/spark-submit \
--master spark://hadoop102:7077 \
--name myPi \
--executor-memory 500m \
--total-executor-cores 2 \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.4.4.jar \
100000
# --master:把任务提交给大哥;
# --executor-memory:指定executor的内存;(都是workder的,executor)
# --executor-cores:指定executor的cpu,核心(都是workder的,executor)
# --deploy-mode:部署模式
bin/spark-submit \
--master spark://hadoop102:7077 \
--name myPi \
--deploy-mode cluster \
--executor-memory 500m \
--total-executor-cores 2 \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.4.4.jar \
10000
# --driver-cores:适应于集群模式;2核
# --driver-memory:适应于集群模式;500m;
bin/spark-submit \
--master spark://hadoop102:7077 \
--name myPi \
--deploy-mode cluster \
--executor-memory 500m \
--total-executor-cores 2 \
--driver-cores 2 \
--driver-memory 500m \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.4.4.jar \
100
# --master:把任务提交给大哥;
# --executor-memory:指定executor的内存;(都是workder的,executor)
# --executor-cores:指定executor的cpu,核心(都是workder的,executor)
# --deploy-mode:部署模式
bin/spark-submit \
--master yarn \
--name myPi \
--executor-memory 500m \
--total-executor-cores 2 \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.4.4.jar \
10000

集群提交

# --master:把任务提交给大哥;
# --executor-memory:指定executor的内存;(都是workder的,executor)
# --executor-cores:指定executor的cpu,核心(都是workder的,executor)
# --deploy-mode:部署模式
bin/spark-submit \
--master yarn \
--name myPi \
--deploy-mode cluster \
--executor-memory 500m \
--total-executor-cores 2 \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.4.4.jar \
10000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值