Bootstrap

flink 使用curl,通过RESTful api,上传和删除jar包

使用curl发送请求

使用flink的过程中,需要用flink的http的api上传jar包,于是就去翻官方文档,但是看的有点郁闷。后来自己试了N次,又去百度,终于查出来了。

curl -X POST --header "Except:" -F "@jarfile=文件地址" flink集群地址:端口号/jars/upload

举个例子

我现在要把桌面下的test1.jar 上传到flink集群,集群的地址是 127.0.0.1,端口是40060:

curl -X POST --header "Except:" -F "@jarfile=C:\Users\admin\Desktop\test.jar" http://127.0.0.1:40060/jars/upload

上传成功后会给你返回一个json字符串,里面有两个属性:fliename 和 status

fliename就是上传到flink集群后,该jar包的名称和位置

status即是状态,成功上传则为success

例如:

{"filename":"/tmp/asdf/zxcv_test1.jar","status":"success"}

一般上传的路径都会有一个随机字符串,并且jar包名字前也有一串随机字符,这里为了方便省略了。

如何删除jar包

删除jar包,如下:

curl -X DELETE  flink集群地址:端口号/jars/jar包名称

首先要说明的是,jar包名称不是test.jar, 也不是上传到flink以后的全部路径,而是上传到flink以后jar包的名称。

举个例子:假设我要删除刚才上传的test1.jar,那么jar包的名称既不是test1.jar, 也不是 /tmp/asdf/zxcvtest1.jar,而是 zxcvtest1.jar

所以我应该这么写:

curl -X DELETE  http://127.0.0.1:40060/jars/zxcv_test1.jar

执行成功后,返回一个json字符串,但是里面什么也没有:

{}