参考资料:
官方文档:http://mesos.apache.org/documentation
中文翻译:http://mesos.mydoc.io/
GitHub:https://github.com/apache/mesos/tree/master
董的博客:http://dongxicheng.org/category/apache-mesos/
安装
下载mesos
参考:http://mesos.apache.org/documentation/latest/getting-started/
下载最新版本:mesos-1.0.0,版本要求:
- 64位linux操作系统
- 内核版本大于3.10 版本
- gcc版本大于4.8.1
安装依赖
- 安装wget/tar
- 获取maven的repo:
- wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
- 安装epel repo(安装SVN必须):
- yum install -y epel-release
-
添加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:
- yum update systemd
-
安装development tools
- yum groupinstall -y "Development Tools"
-
安装mesos依赖
- sudo yum install -y apache-maven python-devel java-1.8.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
编译
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相关
mesos-master
- mesos-start-masters.sh:用于SSH登录到各个master并且进行start操作,如果单机执行,只需注释跟SSH相关操作(直接通过daemon mesos-master启动)
- mesos-stop-master.sh:用于SSH登录到各个master,并且进行stop操作,如果单机执行,只需注释SSH相关操作(直接执行killall mesos-master)
- mesos-daemon.sh:用于启动mesos daemon,默认会执行一些动作(设置ulimit -n以及启动对应的环境变量设置/usr/local/etc/PROCNAME-env.sh)
- mesos-agent实际的二进制文件,可以通过--help来查看对应参数,参数参考:http://mesos.apache.org/documentation/latest/configuration/
-
/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)导致资源无法利用
mesos-agent
- mesos-start-agent.sh:用于SSH登录到各个agent并且进行start操作,如果单机执行,只需注释跟SSH相关操作(直接通过daemon mesos-agent启动)
- mesos-stop-agent.sh:用于SSH登录到各个agent,并且进行stop操作,如果单机执行,只需注释SSH相关操作(直接执行killall mesos-agent)
- mesos-daemon.sh:用于启动mesos daemon,默认会执行一些动作(设置ulimit -n以及启动对应的环境变量设置/usr/local/etc/PROCNAME-env.sh)
- mesos-agent实际的二进制文件,可以通过--help来查看对应参数,参数参考:http://mesos.apache.org/documentation/latest/configuration/
-
/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-master
- 执行sh mesos-start-masters.sh
- ps aux | grep mesos-master 能看到master进程
- netstat -nltp | grep mesos,能看到master已经绑定5050端口
- 查看http://127.0.0.1:5050,可以看到当前mesos集群的一些状态
mesos-agent
- 执行sh mesos-start-agents.sh
- ps aux | grep mesos-agent 能看到agent进程
- netstat -nltp | grep mesos,能看到agent已经绑定5051端口
- 查看http://127.0.0.1:5050,可以看到当前mesos集群的一些状态,同时看到对应的agent
测试Framework
-
执行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信息
http://www.cnblogs.com/SailorXiao/p/5786781.html
相关推荐
mesos-spark-源码.rar
mesos-deb-packaging, 用于 Debian,Ubuntu,CentOS,RHEL和Fedora的Mesos软件包 Mesos Debian封装构建脚本,用创建一个Mesos软件包,以便在集群中简单安装。Mesos是一个集群管理器,它可以跨分布式应用程序或者框架...
python库,解压后可用。 资源全名:mesos_cook-0.1-py2-none-any.whl
python库,解压后可用。 资源全名:mesos.interface-1.6.2-py2-none-any.whl
资源来自pypi官网。 资源全名:mesos_cook-0.1-py2-none-any.whl
资源来自pypi官网。 资源全名:mesos.interface-1.6.2-py2-none-any.whl
mesos-cluster-kvm 使用 Vagrant 和 KVM 设置多主 Mesos 集群使用 kvm 支持安装 vagrant确保正确安装了 libvirt 和 qemu kvm 确保您的用户是 libvirtd 组的一部分(通过运行“virsh list”进行测试)创建集群 $ git ...
mesos in action 英文版好书,简单易懂
python库。 资源全名:cgcloud_mesos_tools-1.1a1.dev131-py2.7.egg
资源分类:Python库 所属语言:Python 资源全名:mesos.interface-1.7.3.linux-x86_64.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
vagrant-mesos 是一款运维工具,可以使 Mesos 集群的安装和运行更加容易。vagrant-mesos 支持 Mesos 0.21.0 集群,同时包括 Marathon (0.8.0) 和 Chronos (2.1.0)正在运行的框架服务器节点。这意味着,你可以使用 ...
Apache Mesos(mesos-1.11.0.tar.gz、mesos-1.11.0.zip) 将 CPU、内存、存储和其他计算资源从机器(物理或虚拟)中抽象出来,使容错和弹性分布式系统能够轻松构建和有效运行。 Apache Mesos 是使用与 Linux 内核...
reactive-http.zip,用于android的反应式http客户端.rxjava用于android和java应用程序的http客户端
mesos-python-examples Apache Mesos的Python框架示例。
cd mesos-website-container docker build -t mesosphere/mesos-site . 在docker容器中构建和运行网站。 docker run -it --rm -p 4567:4567 mesosphere/mesos-site 这将启动一个容器,从SVN和Git下载资源,生成网站...
yardstick.zip,基准写作框架。
Mastering Mesos - Dipa Dubhashi,非常不错的资源!!!,可惜现在不能0资源分分享了,搞什么鬼!
mesos-microhttpd-framework