项目作者: thestyleofme

项目描述 :
flink rest api的spring-boot-starter
高级语言: Java
项目地址: git://github.com/thestyleofme/flink-api-spring-boot-starter.git


flink-api-spring-boot-starter

Quick Start

  1. 执行src/main/resources/sql/flink_explore.sql
  2. jar已发布到中仓仓库,直接依赖即可
    1. <dependency>
    2. <groupId>com.github.codingdebugallday</groupId>
    3. <artifactId>flink-api-spring-boot-starter</artifactId>
    4. <version>1.0.3.RELEASE</version>
    5. </dependency>
  3. spring boot配置文件如示例,src/main/resources/application.yml
  4. 创建自己的flink集群, 已内置com/github/codingdebugallday/client/api/controller/v1/ClusterController.java许多接口

    url: http://localhost:9527/v1/{tenantId}/cluster

method: post

  1. {
  2. "clusterCode": "hdspdev",
  3. "clusterDesc": "hdspdev",
  4. "jobManagerUrl": "http://hdspdev002:50100",
  5. "username": "root",
  6. "password": "m8rW2EQ0iDCcWlbH",
  7. "jobManagerStandbyUrl": "http://hdspdev001:50100",
  8. "enabledFlag": 1,
  9. "tenantId": 0,
  10. "nodeDTOList": [
  11. {
  12. "nodeCode": "flink_hdspdev001",
  13. "nodeDesc": "hdspdev001",
  14. "nodeType":"MARSTER",
  15. "settingInfo": "{\"host\":\"hdspdev001\",\"username\":\"root\",\"password\":\"m8rW2EQ0iDCcWlbH\"}"
  16. },
  17. {
  18. "nodeCode": "flink_hdspdev002",
  19. "nodeDesc": "hdspdev002",
  20. "nodeType":"SLAVE",
  21. "settingInfo": "{\"host\":\"hdspdev002\",\"username\":\"root\",\"password\":\"m8rW2EQ0iDCcWlbH\"}"
  22. },
  23. {
  24. "nodeCode": "flink_hdspdev003",
  25. "nodeDesc": "hdspdev003",
  26. "nodeType":"SLAVE",
  27. "settingInfo": "{\"host\":\"hdspdev003\",\"username\":\"root\",\"password\":\"m8rW2EQ0iDCcWlbH\"}"
  28. },
  29. {
  30. "nodeCode": "flink_hdspdev004",
  31. "nodeDesc": "hdspdev004",
  32. "nodeType":"SLAVE",
  33. "settingInfo": "{\"host\":\"hdspdev004\",\"username\":\"root\",\"password\":\"m8rW2EQ0iDCcWlbH\"}"
  34. },
  35. {
  36. "nodeCode": "flink_hdspdev005",
  37. "nodeDesc": "hdspdev005",
  38. "nodeType":"SLAVE",
  39. "settingInfo": "{\"host\":\"hdspdev005\",\"username\":\"root\",\"password\":\"m8rW2EQ0iDCcWlbH\"}"
  40. },
  41. {
  42. "nodeCode": "flink_hdspdev006",
  43. "nodeDesc": "hdspdev006",
  44. "nodeType":"SLAVE",
  45. "settingInfo": "{\"host\":\"hdspdev006\",\"username\":\"root\",\"password\":\"m8rW2EQ0iDCcWlbH\"}"
  46. }
  47. ]
  48. }
  1. 使用
    首先获取FlinkApiContext,然后通过clusterCode以及tenantId获取flinkApi,
    flinkApi即可调用api,如uploadJar/runJar/jobList等

会自动重试3次,如jm master挂了,会切换到备用节点进行访问

  1. @Autowired
  2. private FlinkApiContext flinkApiContext;
  3. FlinkApi flinkApi = flinkApiContext.get(clusterCode, tenantId);
  4. flinkApi.uploadJar(file)