SpringXD on yarn 使用Container工作組
阿新 • • 發佈:2018-12-23
SpringXD on Yarn支援Container分組。可以更好的控制admin和container分配。
- 控制組內成員
- 以組單位整體控制生命週期
- 動態建立組
- 重啟失敗的容器
實際上,XD on Yarn有內建分組admin和container。結合例子使用:
檢視分組列表:
bin/xd-yarn clustersinfo -a application_1472450074786_0160
CLUSTER ID
----------
container
admin
建立新的分組
bin/xd-yarn clustercreate -a application_1472450074786_0160 -c lihongzhe -i container-nolocality-template -p default -w 2
Cluster lihongzhe created.
檢視分組列表
bin/xd-yarn clustersinfo -a application_1472450074786_0160
CLUSTER ID
----------
container
lihongzhe
admin
啟動分組
bin/xd-yarn clusterstart -a application_1472450074786_0160 -c lihongzhe
檢視分組狀態
bin/xd-yarn clusterinfo -a application_1472450074786_0160 -c lihongzhe -v
CLUSTER STATE MEMBER COUNT ANY PROJECTION HOSTS PROJECTION RACKS PROJECTION ANY SATISFY HOSTS SATISFY RACKS SATISFY
------------- ------------ -------------- ---------------- ---------------- ----------- ------------- -------------
RUNNING 2 2 {} {} 0 {} {}
可見,啟動後,分組變成RUNNING態。此時Yarn上會新啟動Container(原來是6)。
XD的Container也會隨之啟動
進一步,體驗向yarn申請指定資源的container,並將job部署到指定的container上執行,達到資源的動態控制。
1、配置資源申請模板
xd中,container預設申請記憶體為512MB,這裡修改server.yml配置檔案,改成256MB
xd:
appmasterMemory: 512M
adminServers: 1
adminMemory: 512M
adminJavaOpts: -XX:MaxPermSize=128m
adminLocality: false
containers: 3
containerMemory: 256M
containerJavaOpts: -XX:MaxPermSize=128m
containerLocality: false
push並submit新版本
bin/xd-yarn push
bin/xd-yarn submmit
再次建立並啟動名為lihongzhe-256的分組,包含一個容器
bin/xd-yarn clustercreate -a application_1472450074786_0186 -c lihongzhe-256 -i container-nolocality-template -p default -w 1 -g lihongzhe-256
bin/xd-yarn clusterstart -a application_1472450074786_0186 -c lihongzhe-256
從yarn上檢視新建立的容器狀態
可見確實申請了256MB大小的container。
xd admin-ui上來看
然後通過指定groupid將任務部署到該container上去
xd:>job deploy --name jobsleepend --properties "module.sleepend.criteria=groups.equals('lihongzhe-256')"
job跑在了指定的container上。