@SailorXiao
2016-08-19T09:31:13.000000Z
字数 4111
阅读 4310
mesos
任务调度
docker
官方文档:http://mesos.apache.org/documentation
中文翻译:http://mesos.mydoc.io/
GitHub:https://github.com/apache/mesos/tree/master
董的博客:http://dongxicheng.org/category/apache-mesos/
参考:http://mesos.apache.org/documentation/latest/getting-started/
下载最新版本:mesos-1.0.0,版本要求:
- 64位linux操作系统
- 内核版本大于3.10 版本
- gcc版本大于4.8.1
添加SVN repo:
在/etc/yum.repos.d/wandisco-svn.repo文件里添加:
[WANdiscoSVN]
name=WANdisco SVN Repo 1.9
enabled=1
baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS//
gpgcheck=1
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
更新systemd:
安装development tools
安装mesos依赖
cd mesos
mkdir build
cd build
../configure
make(可以使用make -j N加快编译速度)
make check
make install
默认make install会安装到/user/local/sbin底下,配置文件在/usr/local/etc底下,在这两个目录下,会有一些文件跟master/agent相关
/usr/local/etc/mesos/mesos-master-env.sh:设置mesos环境变量,变量命名规则为MESOS_{参数}为mesos-master --help中的参数,设置如下:
export MESOS_log_dir=/var/log/mesos/master # 设置日志目录
export MESOS_work_dir=/var/run/mesos/master # 设置work目录,会存放一些运行信息
export MESOS_ip=127.0.0.1 # 设置IP
# export MESOS_port=5050 # 设置PORT,默认是5050
export MESOS_CLUSTER=mesos_test_cluster1 # 设置集群名称
export MESOS_hostname=127.0.0.1 # 设置master hostname
export MESOS_logging_level=INFO # 设置日志级别
export MESOS_offer_timeout=60secs # 设置offer的超时时间
# export MESOS_agent_ping_timeout=15 # 设置ping 超时时间,默认15s
# export MESOS_allocation_interval=1 # 设置资源 allocation间隔,默认1s
注意:offer_timeout非常关键,默认是不超时,如果一个offer发给scheduler后scheduler不做任何处理(acceptOffers或者declineOffer),那么这个offer一直会被这个scheduler给占用了,直到scheduler自己结束进程或者退出注册。所以offer_timeout一般要设置,用于防止由于scheduler自身的问题(偶发性hang住,或者程序问题没有处理offer)导致资源无法利用
/usr/local/etc/mesos/mesos-agent-env.sh:设置mesos-agent环境变量,变量命名规则为MESOS_{参数}为mesos-agent --help中的参数,设置如下:
# The mesos master URL to contact. Should be host:port for
# non-ZooKeeper based masters, otherwise a zk:// or file:// URL.
export MESOS_master=172.24.133.164:5050
# Other options you're likely to want to set:
export MESOS_ip=172.24.133.164
export MESOS_port=5051
export MESOS_hostname=mesos_cl_agent164
export MESOS_log_dir=/var/log/mesos/agent
export MESOS_work_dir=/var/run/mesos/agent
export MESOS_logging_level=INFO
export MESOS_isolation=cgroups
执行mesos自带的测试framework(测试framework会自动任务执行结束后自动退出)
# Run C++ framework (Exits after successfully running some tasks.).
$ ./src/test-framework --master=127.0.0.1:5050
# Run Java framework (Exits after successfully running some tasks.).
$ ./src/examples/java/test-framework 127.0.0.1:5050
# Run Python framework (Exits after successfully running some tasks.).
$ ./src/examples/python/test-framework 127.0.0.1:5050
查看http://127.0.0.1:5050,可以看到framework信息和framework执行的task信息