前言
本文Flink使用版本1.12.7
Flink中应用的执行会涉及到三部分:Client,JobManager 和 TaskManagers。
- Client 负责提交应用到集群
- JobManager 负责应用执行期间一些必要的记录工作
- TaskManager 负责具体的应用执行
代码提交任务
Application模式提交
准备文件夹和文件
1 | hadoop fs -mkdir -p /jar/userTask |
拷贝需要的文件
1 | hadoop fs -put $FLINK_HOME/examples/batch/WordCount.jar /jar/userTask/WordCount.jar |
查看文件可以访问这个地址
http://hadoop01:50070/explorer.html#/
http://hadoop02:50070/explorer.html#/
在服务器上测试一下
1 | flink run-application -t yarn-application hdfs://hdfsns/jar/userTask/WordCount.jar --output hdfs://hdfsns/bigdata_study/output03 |
添加依赖
1 | <dependency> |
代码
1 | package cn.psvmc; |
查看yarn
Yarn-Session模式提交
添加依赖
1 | <dependency> |
代码
1 | import org.apache.flink.api.common.JobID; |
调用脚本执行
1 | package cn.psvmc; |
使用密码
1 | JSch jsch = new JSch(); |
使用密匙
1 | JSch jsch = new JSch(); |
调用脚本执行2
这个类除了可以运行脚本,还可以复制文件。
依赖:1
2
3
4
5<dependency>
<groupId>ch.ethz.ganymed</groupId>
<artifactId>ganymed-ssh2</artifactId>
<version>build210</version>
</dependency>
工具类
1 | package cn.psvmc; |
RemoteConnect
1 | public class RemoteConnect { |
测试
1 | package cn.psvmc; |