需求:在node2节点上远程调用node4节点执行spark任务
在node2上编写脚本remote_exec_sparkpi.sh
echo "开始执行任务" echo "任务个数 = $1" ssh root@node4 >> /root/test/remotelog.txt 2>&1 << aabbcc cd /opt/spark-2.3.1/bin ./spark-submit --master spark://node1:7077 --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar exit aabbcc echo "任务执行成功"
[root@node2 test]# ./remote_exec_sparkpi.sh 2 开始执行任务 任务个数 = 2 任务执行成功
通过azkaban调度传参,
编写文件myspark.job文件
type=command command=sh /root/test/remote_exec_sparkpi.sh ${count}
type=command 是告诉 Azkaban 使用 unix 原生命令去运行命令或者脚本, command=“xxx”就是指定当前 job 需要执行的命令或者脚本,如果当前 job 依赖于其 他的 job,只需要在这个文本文件后面加上“dependencies=依赖的 job 名称”即可, 依赖的 job 只需要写名称,不需要写出后缀“job”。
在azkaban上创建project并将myspark.job压缩zip包上传到azkaban
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)