从零使用JobGateway
JobGateway是模拟大数据(Flink、Hive、HBase等)客户端用于大数据业务提交功能的网关,是一个具备HTTP/HTTPS的REST系统服务。它具备高性能、易使用、高可用、高扩展性等特点,并具有监控、告警、配置分离等特性,能够大大缩短作业提交链路,简化大数据作业提交流程。
背景信息
例如某集团作业提交较多,流程耗时、繁琐、复杂,使用组件客户端完成作业提交效率低下。不想使用大数据组件客户端提交大数据作业,可以安装JobGateway组件,使用JobGateway服务完成作业的提交;只需要构建基于rest风格的http/https的url即可完成作业提交。
以Hive作业提交为例(其余作业相关参考JobGateway接口文档),示例如下:
curl --location --request POST 'https://{host}:{port}/mrsjob/submit?user.name={username}' --header 'JobServerAuthorization: {AuthorizationInfo}' --header 'Content-Type: application/json' --data-raw '{ "job_name":"{job-name}", "job_type":"HiveSql", "arguments":["SHOW TABLES"] }'
返回值:
{ "id": null, "state": "COMPLETE", "errorCode": 0, "errorCodeDescription": null, "errorDescription": null, "failedNodeList": null, "totalProgress": "0", "job_id": "466710d2-b1ff-4a98-805b-4675292e5cc8" }
Hive作业提交参数含义 |
||
---|---|---|
参数名称 |
参数含义 |
备注 |
host |
nginx所在的服务器ip |
- |
port |
nginx监控端口 |
https默认为29970,http默认为29971 |
user.name |
提交作业的用户名称 |
- |
JobServerAuthorization |
授权认证信息 |
参考JobGateway接口文档 |
job_name |
作业名称 |
- |
job_type |
作业类型 |
HiveSql代表是执行HiveSql作业类型 |
arguments |
HiveSql作业内容 |
- |
若在服务端修改了其他组件如ZooKeeper、KMS等配置,同时,JobGateway配置也过期时,则需要重启JobGateway组件,并且刷新JobServer角色所在节点的客户端配置。刷新JobServer所在节点的客户端配置步骤如下: