apache mesos 角色

mesos根据角色(ROLE)在不同的framework之间分配资源,在启动master时可以指定系统中的角色和每种角色的权重,例如:

mesos-master --ip=127.0.0.1 --work_dir=/var/lib/mesos --roles=qarole,devrole --weights='qarole=1,devrole=3'

指定了两种角色paroledevrole,权重分别是13.

在设置FrameworkInfo时可以设置对应的角色

 

slave启动时会检测当前节点的资源情况,包括cpu、内存、磁盘等,slave默认会预留1G(或者50%)的内存,5G(或者50%)的磁盘以保证自己及操作系统的正常运行,剩下的资源会上报master以供调度。当然也可以手动指定应该上报的资源量,例如,

mesos-slave --master=127.0.0.1:5050 --resources='cpus:4;mem:8192;ports:[1000-5000,31000-32000];'

slave还可以静态的设置各个角色的资源量,例如:

mesos-slave --master=127.0.0.1:5050 --resources='cpus(prod):1;mem(prod):4096;cpus(qa):2;mem(qa):1024;cpus:13;mem:11264' --attributes='operating_system:ubuntu;cpu_class:haswell;zone:us_east;rack:22'

其中prod角色:1cpu、4096内存

qa角色:2cpu、1024内存

默认角色:13cpu、11264内存

除了上报slave节点的资源情况,也可以标记当前节点的一些属性以供scheduler使用,比如是否ssd硬盘,操作系统类型等

mesos-slave --master=127.0.0.1:5050 --resources='cpus:4;mem:8192;ports:[1000-5000,31000-32000];' --attributes='operating_system:ubuntu;cpu_class:haswell;zone:us_east;rack:22'

http://mesos.apache.org/documentation/latest/roles/

猜你喜欢

转载自m635674608.iteye.com/blog/2348853