Mesos&Docker技术交流QQ群:491137983,一起学习,共同进步!
Slave节点负责接收并执行来自mesos-master的命令、管理节点上的mesos-task,并为各个task分配资源。mesos-slave将自己的资源量发送给mesos-master,由mesos-master中的Allocator模块决定将资源分配给哪个framework,当前考虑的资源有CPU和内存两种,也就是说,mesos-slave会将CPU个数和内存量发送给mesos-master,而用户提交作业时,需要指定每个任务需要的CPU个数和内存量,这样,当任务运行时,mesos-slave会将任务放到包含固定资源的linux container中运行,以达到资源隔离的效果,默认情况下,会使用mesos自带的同于基于LXC的容器,本环境中使用docker作为默认容器。
1.组件安装
yum -y install mesos docker
配置mesos,与master一致
echo zk://192.168.2.71:2181,192.168.2.72:2181,192.168.2.73:2181/mesos > /etc/mesos/zk
2.配置mesos-slave
slave101
echo 192.168.2.61 > /etc/mesos-slave/hostname
echo 192.168.2.61 > /etc/mesos-slave/ip
slave102
echo 192.168.2.62 > /etc/mesos-slave/hostname
echo 192.168.2.62 > /etc/mesos-slave/ip
slave103
echo 192.168.2.63 > /etc/mesos-slave/hostname
echo 192.168.2.63 > /etc/mesos-slave/ip
hostname可以不配置,默认使用机器名
3.配置mesos-slave使用docker容器
echo 'docker,mesos' > /etc/mesos-slave/containerizers
echo '5mins' > /etc/mesos-slave/executor_registration_timeout
如果使用本地docker仓库,需要配置docker
sed -i "s/^OPTIONS='--selinux-enabled'/OPTIONS='--selinux-enabled --insecure-registry 192.168.2.98:5000'/g" /etc/sysconfig/docker
说明:
192.168.2.98:5000
是本环境中部署的docker registry仓库地址
4.启动服务
停用slave节点上的mesos-master服务
systemctl stop mesos-master.service && systemctl disable mesos-master.service
服务重启命令
systemctl restart docker
systemctl restart mesos-slave
配置开机启动
chkconfig docker on
chkconfig mesos-slave on