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/zxcv_test1.jar,而是 zxcv_test1.jar
      所以我应该这么写:

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

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

{}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Apache Flink是一个分布式处理流式数据的开源框架,而TiDB是一个分布式SQL数据库。在Flink使用FlinkCDC连接TiDB可以使用两种方式:使用FlinkCDC的Table API使用FlinkCDC的Stream API使用FlinkCDC的Stream API连接TiDB的步骤如下: 1. 在TiDB中创建一个测试表并插入一些数据: ``` CREATE DATABASE test; USE test; CREATE TABLE user ( id INT PRIMARY KEY, name VARCHAR(20), age INT ); INSERT INTO user VALUES (1, 'Alice', 20), (2, 'Bob', 30); ``` 2. 在Flink中引入TiDB和FlinkCDC的相关依赖: ``` <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-jdbc_2.12</artifactId> <version>${flink.version}</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-tidb_2.12</artifactId> <version>${flink.version}</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-cdc-connectors_2.12</artifactId> <version>${flink.version}</version> </dependency> ``` 3. 编写Flink程序,使用FlinkCDC的Stream API连接TiDB: ``` import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.streaming.api.functions.source.SourceFunction; import org.apache.flink.streaming.api.functions.source.SourceRecord; import org.apache.flink.streaming.api.functions.source.TimestampedSourceFunction; import org.apache.flink.streaming.connectors.tidb.TableId; import org.apache.flink.streaming.connectors.tidb.TiDBOptions; import org.apache.flink.streaming.connectors.tidb.TiDBSource; import org.apache.flink.streaming.connectors.tidb.TiDBTableSource; import org.apache.flink.types.Row; import java.util.Properties; public class TiDBStreamAPIExample { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); Properties properties = new Properties(); properties.setProperty(TiDBOptions.TIDB_ADDRESS.key(), "localhost:4000"); properties.setProperty(TiDBOptions.TIDB_PASSWORD.key(), ""); properties.setProperty(TiDBOptions.TIDB_USER.key(), "root"); TiDBTableSource tableSource = TiDBSource .builder() .setDatabaseName("test") .setTableName("user") .setProperties(properties) .build(); env.addSource(tableSource).print(); env.execute("TiDB Stream API Example"); } } ``` 4. 运行程序,可以看到从TiDB中读取到的数据: ``` 1,Alice,20 2,Bob,30 ``` 以上就是使用FlinkCDC的Stream API连接TiDB的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值