保姆级丨Mesos & Marathon部署

0x00 前言

        Mesos是以与Linux内核同样的原则而创建的,不同点仅仅是在于抽象的层面。Mesos内核运行在每一个机器上,同时通过 API 为各种应用提供跨数据中心和云的资源管理调度能力。这些应用包括Hadoop、Spark、Kafka、Elastic Search。还可配合框架 Marathon 来管理大规模的Docker等容器化应用。

▲ Mesos架构图

0x01 环境说明

mesos-a(192.168.1.12)
mesos-b(192.168.1.3)
mesos-c(192.168.1.10)
Docker
JAVA
Zookeeper
Mesos

0x02 准备工作

        文中使用CentOS-7系统在虚拟机的环境下进行示范,部署mesos过程中每个虚拟机均要执行。由于后续需要安装zookeeper,需要对Selinux以及防火墙进行设置。

通过root执行命令

su root

设置Selinux状态

setenforce 0

查看Selinux状态,出现Permissive则为设置成功

getenforce

关闭防火墙

systemctl stop firewalld

0x03 安装Docker

下载并安装docker

yum install docker

启动docker服务

systemctl start docker.service

查看docker状态

systemctl status docker

设置开机启动

systemctl enable docker.service

创建用户组并加入

groupadd docker
usermod -aG docker mesos-x  #--主机名称--

0x04 安装Java

下载安装Java,系统提示已经安装过Java,可能是创建虚拟机时系统自带

yum install java

查看Java版本

java -version

0x05 安装Zookeeper

下载Zookeeper

wget https://downloads.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz

解压压缩包

tar xf apache-zookeeper-3.8.0-bin.tar.gz

将zookeeper移动到local文件夹下

mv apache-zookeeper-3.8.0-bin/ /usr/local

打开zookeeper文件

cd /usr/local/apache-zookeeper-3.8.0-bin

创建软链接

ln -s /usr/local/apache-zookeeper-3.8.0-bin/ /usr/local/zookeeper

0x06 配置环境变量

打开并查看conf文件夹

cd conf/

复制配置文件

cp zoo_sample.cfg zoo.cfg

查看主机IP

ip addr

编辑配置文件

vim zoo.cfg

修改文件路径,并设置路由

dataDir=/usr/local/zookeeper/data    #--zookeeper安装目录中的data目录--

server.1=192.168.1.12:28888:3888    
server.2=192.168.1.3:28888:3888
server.3=192.168.1.10:28888:3888

添加并更新环境变量

echo export PATH=\"\$PATH:/usr/local/zookeeper/bin\">>~/.bashrc
source ~/.bashrc

编辑hostsname文件

vim /etc/hostname

修改hostname文件 

mesos-x  #--主机名称--

重启虚拟机更新hostname

shutdown -r now

0x07 配置Zookeeper

重启后再次关闭防火墙,防止后续启动zookeeper出现错误

setenforce 0
getenforce
systemctl stop firewalld

打开hosts文件

vim /etc/hosts

编辑hosts文件,解析主机名

192.168.1.12 mesos-a
192.168.1.3 mesos-b
192.168.1.10 mesos-c

在zookeeper中添加文件

cd /usr/local/zookeeper    #--需要自己创建数据和日志目录--
mkdir data
mkdir logs

写入内容到路径myid中

echo "1" >/usr/local/zookeeper/data/myid
echo "2" >/usr/local/zookeeper/data/myid
echo "3" >/usr/local/zookeeper/data/myid

打开zookeeper的bin目录

cd bin

启动zookeeper,虚拟机都要先启动成功后再查看状态

zkServer.sh start

查看zookeeper启动状态

zkServer.sh status

建立节点间连接

zkCli.sh -server 192.168.1.3:2181    #--leader节点为mesos-b,仅在leader节点主机上执行--

0x08 安装Mesos & Marathon

将Mesos加入yum仓库

rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-3.noarch.rpm

安装mesos和marathon

yum -y install mesos marathon

0x09 配置marathon文件

打开/etc/default/marathon目录

vim /etc/default/marathon

编辑marathon文件

MARATHON_MESOS_USER="root"
MARATHON_MASTER="zk://192.168.1.12:2181,192.168.1.3:2181,192.168.1.10:2181/mesos"
MARATHON_ZK="zk://192.168.1.12:2181,192.168.1.3:2181,192.168.1.10:2181/marathon"

0x10 部署mesos

添加节点间IP以建立连接,配置文件前需要先停用zookeeper

zkServer.sh stop

编辑zk文件

vim /etc/mesos/zk

修改zk文件内容,保存退出

zk://192.168.1.12:2181,192.168.1.3:2181,192.168.1.10:2181/mesos    #--写入节点IP:端口号--

启动zookeeper

zkServer.sh start

查看zookeeper状态

zkServer.sh status

修改mesos和slave IP 以及hostname

echo 192.168.1.X | tee /etc/mesos-master/ip
echo 192.168.1.X | tee /etc/mesos-master/hostname
echo 192.168.1.X | tee /etc/mesos-slave/ip
echo 192.168.1.X | tee /etc/mesos-slave/hostname
echo "2" >/etc/mesos-master/quorum

启动mesos和marathon

systemctl start mesos-master mesos-slave marathon

0x11 访问Mesos & Marathon

打开浏览器输入虚拟机IP,端口号5050查看Mesos是否成功部署

192.168.1.12:5050
192.168.1.3:5050
192.168.1.10:5050

打开浏览器输入虚拟机IP,端口号8080查看Marathon是否成功部署

192.168.1.12:8080
192.168.1.3:8080
192.168.1.10:8080

0x12 总结

至此Mesos与Marathon部署完成。由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼泊罗河伯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值