iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 21
0
Cloud

用30天來建構和操作Apache Mesos系列 第 21

Day21:Mesos Framework Chronos(三)

  • 分享至 

  • xImage
  •  

昨天已經使用了Chronos提供的WebUI建立執行Job的時間,今天使用Chronos提供的Restful API來操作Chronos Job

1、加入Scheduled Job使用的json和指令如下:

addScheduler.json

{
  "name": "test1",
  "command": "echo \"Hello Wolrd\"",
  "shell": true,
  "executor": "",
  "executorFlags": "",
  "taskInfoData": "",
  "retries": 2,
  "owner": "",
  "ownerName": "",
  "description": "",
  "cpus": 0.1,
  "disk": 256,
  "mem": 128,
  "disabled": false,
  "softError": false,
  "dataProcessingJobType": false,
  "fetch": [],
  "uris": [],
  "environmentVariables": [],
  "arguments": [],
  "highPriority": false,
  "runAsUser": "root",
  "concurrent": false,
  "constraints": [],
  "schedule": "R/2016-12-21T03:00:00.000Z/PT24H",
  "scheduleTimeZone": ""
}

執行restful的指令如下:

# curl -L -H 'Content-Type: application/json' -X POST -d@addScheduler.json http://192.168.1.118:8080/v1/scheduler/iso8601

2.列出有哪些Job已經加入Chronos了

# curl -L -X GET http://192.168.1.118:8080/v1/scheduler/jobs

3.刪除已經加入的Job

# curl -L -X DELETE http://192.168.1.118:8080/v1/scheduler/job/test1

test1就是剛才所建立的JobName

4.手動執行job,不用等待時間已經到了才執行,用來測試使用的

# curl -L -X PUT http://192.168.1.118:8080/v1/scheduler/job/test2

test2是JobName

5.Job之間可以建立dependency的相依,使用下面的API可以顯示Job之間的關係

curl -L -X GET http://192.168.1.118:8080/v1/scheduler/graph/dot

另外Chronos也有跟marathon一樣的功能,就是可以限制Job在哪些機器上執行,只要在json設定如下:

{
  ...
  "constraints": [["rack", "LIKE", "rack-[1-3]"]],
  ...
}

今天已經介紹了使用Chronos的Restful來建立、刪除、顯示Job…等等的功能,這些都是未來在寫程式時有所幫助,如果對其它的功能有興趣可以參考Chronos的文件,另外除了可以使用curl執行Restful之外,也可以使用Postman的方式來執行Restful。

參考資料:

chronos github:https://mesos.github.io/chronos/docs/api.html


上一篇
Day20:Mesos Framework Chronos(二)
下一篇
Day22:Mesos Framework Aurora(一)
系列文
用30天來建構和操作Apache Mesos30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言