这个代码flink 1.5可以调用 jars/upload上传jar包。但升级到flink 1.8就一直timeout了,啥情况 ?
这个代码示例展示了如何在 Flink 1.5 中调用 jars/upload 上传 jar 包。具体来说,它使用了 Flink 的 FileSystem 类来访问本地文件系统,并使用 uploadJar 方法将指定的 jar 包上传到 Flink 集群中的指定路径。
以下是代码示例:
import org.apache.flink.api.common.JobExecutionResult;
import org.apache.flink.client.program.ClusterClient;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.runtime.jobgraph.JobGraph;
import org.apache.flink.runtime.minicluster.LocalFlinkMiniCluster;
import java.io.File;
import java.net.URI;
import java.util.Collections;
public class FlinkUploadJarExample {
public static void main(String[] args) throws Exception {
// 创建本地 Flink 集群
LocalFlinkMiniCluster miniCluster = new LocalFlinkMiniCluster();
miniCluster.start();
// 获取 Flink 集群客户端
ClusterClient<?> client = miniCluster.getClusterClient();
// 创建作业图
JobGraph jobGraph = createJobGraph();
// 上传 jar 包到 Flink 集群
URI jarUri = client.uploadJar(new File("path/to/your/jar/file.jar"));
// 设置作业依赖的 jar 包
jobGraph.getJobConfiguration().setString(org.apache.flink.configuration.ConfigOptions.JOB_MANAGER_SHARED_JARS, jarUri.toString());
// 提交作业并等待结果
JobExecutionResult result = client.submitJob(jobGraph);
// 关闭 Flink 集群客户端和本地集群
client.close();
miniCluster.stop();
}
private static JobGraph createJobGraph() {
// 在这里创建你的 Flink 作业图
// ...
return null; // 返回创建好的作业图
}
}
请注意,你需要将 "path/to/your/jar/file.jar" 替换为你要上传的 jar 包的实际路径。此外,你还需要实现 createJobGraph
方法来创建你自己的 Flink 作业图。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。