mesos集群搭建

Mesos是一个资源管理平台,架构和YARN相似,但稳定性和性能更好,遂决定尝试部署Mesos。
由于mesos网上资料很少,而且版本都比较老,现总结下最新版本mesos-1.3.0的安装过程

1、准备工作

1)、三台机器,CentOS 7.1系统(在/etc/hosts中配置,其中192.168.63.128是master,其它两台是slave):

192.168.63.128 master

192.168.63.130 slave2

192.168.63.131 slave1

安装顺序:首先安装192.168.63.128 master, 待master安装并且全部配置完成后直接复制slave1,slave2即可

(注意点1:需要在每台机器上增加如下配置:)
192.168.63.128 master
192.168.63.130 slave1
192.168.63.131 slave2

(注意点2:需要在每台机器上增加如下配置:)
根据每台机器的名,修改/etc/sysconfig/network, 192.168.63.128 设置为内容 master。这步必不可少

(注意点3:前两步做好后重启后生效)

2)、免密ssh登录(也可以不设置,后面会讲到原因),参考http://chenlb.iteye.com/blog/211809,只需要设置master 到 slave1 和slave2的免密访问,最好全部使用root来做,不涉及权限问题。

3)、安装jdk1.8(略)

4)、安装zookeeper,参见《zookeeper集群搭建》,网上资料很多,google或者baidu都可以。

本次搭建好后的zookeeper集群的环境为:
172.17.5.93:2181
172.17.5.93:2182
172.17.5.93:2183


2、安装mesos

SSH 登录 192.168.63.128

建安装位置
#mkdir -p /usr/local/mesos/mesos
#cd /usr/local/mesos

下载解压
#wget http://www.apache.org/dist/mesos/1.3.0/mesos-1.3.0.tar.gz
#tar -zxf mesos-1.3.0.tar.gz

安装依赖
#yum install -y tar wget git
#wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
#yum install -y epel-release
#bash -c ‘cat > /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/\$basearch/
gpgcheck=1
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
EOF'

#yum install -y apache-maven python-devel python-six python-virtualenv 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
#../configure
#make -j4 && make -j4 install
安装漫长,耐心等待,大概1小时左右时间

检查/etc/profile文件,看末尾是否添加了如下的配置,如果没有则添加如下配置

export MESOS_HOME=/usr/local/mesos/mesos/build
export PATH= PATH:/usr/local/sbin: {MESOS_HOME}/bin

修改后:

source /etc/profile 

使生效

测试
启动master
#./bin/mesos-master.sh –ip=127.0.0.1 –work_dir=/var/lib/mesos
启动agent
#./bin/mesos-agent.sh –master=127.0.0.1:5050 –work_dir=/var/lib/mesos
运行java例子
#./src/examples/java/test-framework 127.0.0.1:5050

至此,mesos 安装成功了

可参考官网http://mesos.apache.org/gettingstarted/,写的很清楚了


3、配置集群

SSH 登录 192.168.63.128
将几个配置模板文件分别生成新的文件

#cd /usr/local/etc/mesos  
#cat mesos-agent-env.sh.template > mesos-agent-env.sh  
#cat mesos-deploy-env.sh.template > mesos-deploy-env.sh  
#cat mesos-master-env.sh.template > mesos-master-env.sh  
#cat mesos-slave-env.sh.template > mesos-slave-env.sh 

修改mesos-master-env.sh

#vim mesos-master-env.sh  
export MESOS_log_dir=/data/mesos/log  
export MESOS_work_dir=/data/mesos/data  
export MESOS_ZK=zk://172.17.5.93:2181,172.17.5.93:2182,172.17.5.93:2183/mesos

修改mesos-agent-env.sh和mesos-slave-env.sh一样

#vim mesos-agent-env.sh  
export MESOS_master=master:5050  
export MESOS_log_dir=/data/mesos/log  
export MESOS_work_dir=/data/mesos/run  
export MESOS_isolation=cgroups  

修改masters

#echo master > masters

修改slaves

#vim slaves  
slave1
slave2  

修改mesos-daemon.sh
vim /usr/local/sbin/mesos-daemon.sh

将ulimit -n 8192修改为ulimit -n 1024
(这条指令是在向服务器索要资源,但是 通过ulimit -a查看可以看出-n为1024,系统要求这个数不能更大,因此把8192更改为1024即可)。

安装slave1、slave2
分别复制到slave1,slave2中,根据 第一步【1、准备工作】做机器和网络的配置,完成后重启。


启动集群
第一种方法:适用于没有配置免密登录的用户:
登录master机器,执行:

./bin/mesos-master.sh --ip=master --work_dir=/var/lib/mesos

登录slave1机器。执行:

./bin/mesos-agent.sh --master=master:5050 --work_dir=/var/lib/mesos

登录slave2,执行:

./bin/mesos-agent.sh --master=master:5050 --work_dir=/var/lib/mesos

如果不能执行, 将master、slave1、slave2换成相应的IP即可

第二种方法,使用域配置了免密登录的用户:
登录master机器,然后执行

 #cd /usr/local/sbin
 #./mesos-start-cluster.sh

登录http://master:5050,这里的master换成master机器对应的IP,否则配置/etc/hosts,添加master对应的IP即可。正常的话应该出现如下界面:
mesos集群搭建_第1张图片


集群测试

SSH登录master机器, 执行如下命令:

#cd /usr/local/mesos/mesos/build
#./src/examples/java/test-framework master:5050

然后访问:http://master:5050
mesos集群搭建_第2张图片

点击第一个ID,出现
mesos集群搭建_第3张图片

表明刚刚执行的任务在slave1、slave2的执行器上都有执行。


至此mesos环境搭建完成,下文将详细阐述原理。

你可能感兴趣的:(容器化应用,mesos)