Mesos实践:基于MZM的PAAS的构建(4):环境搭建
2017-01-13 08:30
681 查看
为分布式微服务框架提供合适的PAAS平台,使用成熟的M(Mesos)Z(Zookeeper)M(Marathon)可以作为选择之一。本文将介绍一下如何在CentOS7下进行环境的搭建,同时将搭建的脚本放到了github上的Easypack项目中,使用这个脚本能够简化目前稍微繁琐的安装流程。
6台机器构成:3主3从。详细信息如下:
需要将hostname和IP的mapping加入到hosts中,本文情况设定内容如下:
/etc/mesos/zk
/etc/mesos-master/quorum
因为三台的机器,quorum为2,5台的话就是3了
设定各机器唯一的ID和IP以及Hostname: 比如host32的Master1节点
/etc/mesos/zk
Frameworks
Agents
Offers
Deployments
有需要的可以自行参照。
使用这个把上面的步骤进行简化,每台机器只需要INSTALL和INIT两个步骤。
机器构成
6台机器构成:3主3从。详细信息如下:
项番 | 类别 | hostname | IP | 需装软件 |
---|---|---|---|---|
No.1 | Master | host32 | 192.168.32.32 | MESOS+MARATHON+ZOOKEEPER |
No.2 | Master | host33 | 192.168.32.33 | MESOS+MARATHON+ZOOKEEPER |
No.3 | Master | host34 | 192.168.32.34 | MESOS+MARATHON+ZOOKEEPER |
No.4 | Slave | host42 | 192.168.32.42 | MESOS |
No.5 | Slave | host43 | 192.168.32.43 | MESOS |
No.6 | Slave | host44 | 192.168.32.44 | MESOS |
准备事项
对上述6台机器,作如下准备:项番 | 事项 |
---|---|
No.1 | OS: CentOS7(1511即可) 最小安装即可 |
No.2 | 关闭防火墙:systemctl stop firewalld && systemctl disable firewalld |
No.3 | 清空iptables规则:iptables -F |
安装
Master节点安装
各Master节点作如下安装项番 | 详细 |
---|---|
No.1 | rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm |
No.2 | yum install -y mesos |
No.3 | yum install -y marathon |
No.4 | yum install -y mesosphere-zookeeper |
Slave节点安装
各Slave节点作如下安装项番 | 详细 |
---|---|
No.1 | rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm |
No.2 | yum install -y mesos |
设定Master节点
Mesos相关设定
设定/etc/hosts需要将hostname和IP的mapping加入到hosts中,本文情况设定内容如下:
# Mesos Master 192.168.32.32 host32 192.168.32.33 host33 192.168.32.34 host34 # Mesos Slave 192.168.32.42 host42 192.168.32.43 host43 192.168.32.44 host44
设定Zookeeper
相关设定等详细信息在Zookeeper相关的介绍中已经说过,此处不再赘述。各机器的/etc/zookeeper/conf/zoo.cfg追加如下信息[root@host32 log]# cat /etc/zookeeper/conf/zoo.cfg |tail -n3 server.1=192.168.32.32:2888:3888 server.2=192.168.32.33:2888:3888 server.3=192.168.32.34:2888:3888 [root@host32 log]#
/etc/mesos/zk
[root@host32 log]# cat /etc/mesos/zk zk://192.168.32.32:2181,192.168.32.33:2181,192.168.32.34:2181/mesos [root@host32 log]#
/etc/mesos-master/quorum
因为三台的机器,quorum为2,5台的话就是3了
[root@host32 log]# cat /etc/mesos-master/quorum 2 [root@host32 log]#
设定各机器唯一的ID和IP以及Hostname: 比如host32的Master1节点
[root@host32 log]# cat /var/lib/zookeeper/myid 1 [root@host32 log]# cat /etc/mesos-master/ip 192.168.32.32 [root@host32 log]# cat /etc/mesos-master/hostname 192.168.32.32 [root@host32 log]#
设定Marathon
/etc/marathon/conf/zk[root@host32 log]# cat /etc/marathon/conf/zk zk://192.168.32.32:2181,192.168.32.33:2181,192.168.32.34:2181/marathon [root@host32 log]#
设定Slave节点
设定各机器IP以及Hostname: 比如host44的Slave3节点[root@host44 ~]# cat /etc/mesos-slave/ip 192.168.32.44 [root@host44 ~]# cat /etc/mesos-slave/hostname 192.168.32.44 [root@host44 ~]#
/etc/mesos/zk
[root@host44 ~]# cat /etc/mesos/zk zk://192.168.32.32:2181,192.168.32.33:2181,192.168.32.34:2181/mesos [root@host44 ~]#
启动Master服务
各Master节点作如下操作,初期化服务设定以及启动服务项番 | 详细 |
---|---|
No.1 | systemctl stop mesos-slave |
No.2 | systemctl disable mesos-slave |
No.3 | systemctl start zookeeper |
No.4 | systemctl start marathon |
No.6 | systemctl start mesos-master |
启动Slave服务
各Slave节点作如下操作,初期化服务设定以及启动服务项番 | 详细 |
---|---|
No.1 | systemctl stop mesos-master |
No.2 | systemctl disable mesos-master |
No.3 | systemctl enable mesos-slave |
No.4 | systemctl start mesos-slave |
Mesos启动确认
HomeFrameworks
Agents
Offers
Marathon启动确认
ApplicationsDeployments
Easypack
在搭建的过程中顺手把脚本写下来了放到了github上:https://github.com/liumiaocn/easypack/blob/master/mesos/easypack_mesos.sh有需要的可以自行参照。
使用这个把上面的步骤进行简化,每台机器只需要INSTALL和INIT两个步骤。
使用方法
[root@host33 tmp]# sh easypack_mesos.sh INSTALL MASTER Usage: easypack_mesos.sh ACTION TYPE NODE ACTION: INSTALL|INIT|UNINSTALL|STATUS|START|STOP|RESTART TYPE : MASTER|SLAVE NODE : 1|2|3|ALL [root@host33 tmp]#
Master节点
[root@host33 tmp]# sh easypack_mesos.sh INSTALL MASTER 2 ## Intall Log file : /tmp/tmp_log_file.10340.log ## Install for Master Node: :OK ## Config for Master Node: /etc/hosts :OK ## Config for Master Node: :OK [root@host33 tmp]# [root@host33 tmp]# sh /tmp/easypack_mesos.sh INIT MASTER 1 ## Intall Log file : /tmp/tmp_log_file.10753.log ## Init for Master Node: :OK [root@host33 tmp]#
Slave节点
root@host43 ~]# sh /tmp/easypack_mesos.sh INSTALL SLAVE 2 ## Intall Log file : /tmp/tmp_log_file.1751.log ## Install for Slave Node: OK ## Config for Slave Node: OK [root@host43 ~]# sh /tmp/easypack_mesos.sh INIT SLAVE 3 ## Intall Log file : /tmp/tmp_log_file.2011.log ## Init for Slave Node: OK [root@host43 ~]#
相关文章推荐
- Mesos实践:基于MZM的PAAS的构建(1):Mesos简介
- Mesos实践:基于MZM的PAAS的构建(3):Marathon简介
- Mesos实践:基于MZM的PAAS的构建(2):Zookeeper简介
- 搭建LAMP环境,并实践基于DNS做基于域名的虚拟主机
- 基于Hadoop生态圈的数据仓库实践 —— 环境搭建(一)
- 基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)
- ubuntu 12.04下LAMP环境搭建(用于基于contianer的PaaS)
- 构建基于Jenkins + Github的持续集成环境 本人实践版
- 构建与定制:唯品会PaaS基于Kubernetes的实践
- Idea基于scala语言构建spark开发环境搭建
- 基于Mesos+Marathon+Zookeeper的Docker集群管理环境搭建过程分享
- 基于Hadoop生态圈的数据仓库实践 —— 环境搭建(二)
- 【软件开发实践】基于 Jenkins 快速搭建持续集成环境
- fltk在Ubuntu Linux里面的搭建和测试--<<C++程序设计原理与实践>>Chapter12:一个显示模型 环境构建篇
- Windows下基于Apache服务器的PHP环境搭建
- appfuse 2.0.1 Tapestry 在eclipse里调试环境的搭建(未验证是否为最佳实践)
- [转] 搭建Windows下基于Eclipse的PHP开发环境
- 搭建基于Linux的Informix数据库开发环境
- 基于虚拟机VmWare搭建破解环境的探讨-Brygid - 新浪BLOG
- 基于VS.NET 2003S60开发环境的搭建