mesos+mrathon+zookeeper的docker管理集群亲手搭建实例(详细)

1:规划(5master+3slave)

master:

  • 10.64.5.184 ---master1
  • 10.64.5.185 ---master2
  • 10.64.5.186 ---master3
  • 10.64.5.187 ---master4
  • 10.64.5.188 ---master5

slave:

  • 10.64.5.170 ---slave1
  • 10.64.5.172 ---slave2
  • 10.64.5.167 ---slave3


2:配置master节点

   

(1)关闭防火墙

  • master1 master2  master3 master4 master5
#systemctl stop firewalld && systemctl disable firewalld

(2)添加mesos的yum源

  • master1 master2  master3  master4 master5
#sudo rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

(3)安装mesos,marathon,zookeeper

  • master1 master2  master3 master4 master5

#yum -y install mesos marathon mesosphere-zookeeper


(4)配置zookeeper

#设置文件[/var/lib/zookeeper/myid]为当前mesos master节点的id,id必须为1-255之中的整数,例如:1

  • master1
#echo 1 > /var/lib/zookeeper/myid
  • master2
#echo 2 > /var/lib/zookeeper/myid
  • master3
#echo 3 > /var/lib/zookeeper/myid
  • master4
#echo 4 > /var/lib/zookeeper/myid
  • master5
#echo 5 > /var/lib/zookeeper/myid

#master_node_id为master节点id同该节点[/var/lib/zookeeper/myid]文件的配置,master_node_ip为master节点的ip地址:server.$master_node_id=$master_node_ip:2888:3888

其中第一个端口2888用来集群成员的信息交换,第二个端口3888是在leader挂掉时专门用来进行选举leader所用。

  • master1 master2  master3  master4 master5
#vim /etc/zookeeper/conf/zoo.cfg
结尾添加内容
server.1=10.64.5.184:2888:3888
server.2=10.64.5.185:2888:3888
server.3=10.64.5.186:2888:3888
server.4=10.64.5.187:2888:3888
server.5=10.64.5.188:2888:3888
#vim /etc/mesos/zk
完全替换原来内容:
zk://10.64.5.184:2181,10.64.5.185:2181,10.64.5.186:2181,10.64.5.187:2181,10.64.5.188:2181 /mesos


#设置文件[/etc/mesos-master/quorum]内容为一个大于(master节点数除以2)的整数。

#echo 3 >/etc/mesos-master/quorum
完全替换原来内容:
3


(5)配置mesos和marathon

#主机名和ip要在hosts中写入,不能全部使用localhost,否则会出现slave不能识别,以及marathon任务下发不正常等现象。

  • master1
# mkdir -p /etc/marathon/conf
# echo 10.64.5.184  > /etc/mesos-master/hostname
# echo 10.64.5.184 > /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-1.com
#echo "10.64.5.184 master-1 master-1.com" >/etc/hosts
  • master2
# mkdir -p /etc/marathon/conf
# echo 10.64.5.185 > /etc/mesos-master/hostname
# echo 10.64.5.185 > /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-2.com
#echo "10.64.5.185 master-2 master-2.com" >/etc/hosts
  • master3
# mkdir -p /etc/marathon/conf
# echo 10.64.5.186  > /etc/mesos-master/hostname
# echo 10.64.5.186> /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-3.com
#echo "10.64.5.186 master-3 master-3.com" >/etc/hosts
  • master4
# mkdir -p /etc/marathon/conf
# echo 10.64.5.187 > /etc/mesos-master/hostname
# echo 10.64.5.187 > /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-4.com
#echo "10.64.5.187 master-4 master-4.com" >/etc/hosts
  • master5
# mkdir -p /etc/marathon/conf
# echo 10.64.5.188  > /etc/mesos-master/hostname
# echo 10.64.5.188 > /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-5.com
#echo "10.64.5.188 master-5 master-5.com" >/etc/hosts
  • master1 master2  master3 master4 master5
# cp  /etc/mesos/zk   /etc/marathon/conf/master
# cp  /etc/mesos/zk   /etc/marathon/conf/zk
# sed -i  ‘s|mesos|marathon|g‘   /etc/marathon/conf/zk

(6)启动mesos,marathon,zookeeper

  • master1 master2  master3 master4 master5
# systemctl start zookeeper && systemctl start mesos-master && systemctl start marathon
# systemctl disable mesos-slave

(7)检查配置

#配置过程中出错,为了方便检查对比各master配置,直接执行如下命令。

cat /var/lib/zookeeper/myid && tail -6 /etc/zookeeper/conf/zoo.cfg && cat /etc/mesos/zk && cat /etc/mesos-master/quorum && cat /etc/mesos-master/hostname&& cat /etc/marathon/conf/hostname&& cat /etc/marathon/conf/master&&cat /etc/marathon/conf/zk
还可以创建 /etc/mesos-master/cluster 文件,写入集群的别名。


2:配置slave节点


(1)关闭防火墙

  • slave1 slave2  slave3
#systemctl stop firewalld && systemctl disable firewalld

(2)添加mesos的yum源

  • slave1 slave2  slave3
#sudo rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

(3)安装mesos,marathon,zookeeper

  • slave1 slave2  slave3
#yum -y install mesos

(4)配置master信息

  • slave1
#echo 10.64.5.167    > /etc/mesos-slave/hostname
#hostnamectl --static set-hostname slave-1.com
#echo "10.64.5.167 slave-1 slave-1.com" >/etc/hosts
  • slave2
#echo 10.64.5.170    > /etc/mesos-slave/hostname
#hostnamectl --static set-hostname slave-2.com
#echo "10.64.5.170 slave-2 slave-2.com " >/etc/hosts
  • slave3
#echo 10.64.5.172    > /etc/mesos-slave/hostname
#hostnamectl --static set-hostname slave-1.com
#echo "10.64.5.172 slave-3 slave-3.com " >/etc/hosts
  • slave1 slave2  slave3
#vi /etc/mesos/zk
增加:
zk://10.64.5.184:2181,10.64.5.185:2181,10.64.5.186:2181,10.64.5.187:2181,10.64.5.188:2181/mesos

(5)启动slave

#systemctl start mesos-slave && systemctl enable mesos-slave
#systemctl disable mesos-master

3:访问web管理页面

访问mesos的管理页面。master_ip:5050 

#master_ip是这5个master中的任意一个就行,经过zookeeper选主喉,会自动跳到了leader的页面,如图mesos的leader为187。

在Frameworks中已经能够识别marathon,此时marathon的leader为10.64.5.186.

#mesos和marathon都是有zookeeper来选举leader,但是选主过程彼此独立,就是mesos的leader为187,但是marathon的leader为186(如图)。

已经能够识别三个slave。

访问marathon的管理页面。master_ip:8080

时间: 2024-12-25 11:04:33

mesos+mrathon+zookeeper的docker管理集群亲手搭建实例(详细)的相关文章

mesos+marathon+zookeeper的docker管理集群亲手搭建实例(环境Centos6.8)

资源:3台centos6.8虚拟机 4cpu 8G内存 ip 10.19.54.111-113 1.System Requirements及安装环境配置并关闭防火墙与SELinux For full support of process isolation under Linux a recent kernel >=3.10 is required. 由于我使用的centos6.8,所以要升级内核(http://www.cnblogs.com/zhangmingcheng/p/6046274.h

Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践

参考赵班长的unixhot以及马亮blog 笔者QQ:572891887 Linux架构交流群:471443208 1.1Mesos简介 Mesos是Apache下的开源分布式资源管理框架,它被称为分布式系统的内核.Mesos最初是由加州大学伯克利分校的AMPLab开发,后在Twitter得到广泛使用. Mesos-Master:主要负责管理各个framework和slave,并将slave上的资源分配给各个framework. Mesos-Slave:负责管理本节点上的各个mesos-task

Hadoop zookeeper HA高可靠集群部署搭建,及错误诊断

http://archive-primary.cloudera.com/cdh5/cdh/5/ 一.准备工作1.修改Linux主机名,每台都得配置[[email protected] ~]# vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=h2012.修改IP /etc/sysconfig/network-scripts/ifcfg-eth03.修改主机名和IP的映射关系(h24,h25为主,h21,h22,h23为从)[[email prote

Nginx + Tomcat 负载均衡集群的搭建实例

操作系统: CentOS6.5   JDK软件版本:jdk1.7.0_65  Tomcat软件版本:apache-tomcat-7.0.54 案例环境:拓扑图和案例环境 一.在对应的服务器上分别安装Nginx和Tomcat 1.Nginx的安装方法大家可以参考:Nginx的源码安装 2.Tomcat的安装方法大家可以参考:Tomcat的安装与配置 注意:如果防火墙没有关闭的朋友,在安装完成之后,分别在对应的服务器上创建防火墙规则 Nginx服务器上防火墙规则 Tomcat服务器上防火墙规则 二.

Docker Swarm集群初探

前言 相信Docker技术大家都有所了解,单个Docker能发挥的作用毕竟有限,也不便于管理,所以Docker得组集群来使用才能发挥强大的技术优势.既然要组集群那就涉及诸如Docker的资源调度.管理等等一系列问题.目前涉及Docker集群的三个主要的技术无外乎Swarm.Kubernetes.Mesos三种.从本文开始作者将会一一实践这几种主要的Docker集群技术,话不多说,现在开始. 注意:作者的kubernetes相关实践在此 环境准备 Mac OS X 10.13.2 Docker 1

docker swarm集群及其UI部署

一.规划 ①swarm01作为manager节点,swarm02和swarm03作为worker节点. # cat /etc/hosts 127.0.0.1   localhost 192.168.139.175  swarm01  192.168.139.176  swarm02  192.168.139.177  swarm03 ②配置SSH免密登陆 # ssh-keygen -t rsa -P '' # ssh-copy-id -i .ssh/id_rsa.pub [email prote

zookeeper集群环境搭建详细图文教程

zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装zookeeper 3. 解压zookeeper压缩包 单节点zookeeper配置 1. 配置zoo.cfg文件 2. 配置zookeeper的数据存储目录 3. 新建myid文件 4. 配置zookeeper集群节点 5. 启动zookeeper服务 6. 检查zookeeper服务是否成功启动

Storm 系列(四)—— Storm 集群环境搭建

一.集群规划 这里搭建一个 3 节点的 Storm 集群:三台主机上均部署 Supervisor 和 LogViewer 服务.同时为了保证高可用,除了在 hadoop001 上部署主 Nimbus 服务外,还在 hadoop002 上部署备用的 Nimbus 服务.Nimbus 服务由 Zookeeper 集群进行协调管理,如果主 Nimbus 不可用,则备用 Nimbus 会成为新的主 Nimbus. 二.前置条件 Storm 运行依赖于 Java 7+ 和 Python 2.6.6 +,所

非节点主机通过内网远程管理docker swarm集群

这是今天使用 docker swarm 遇到的一个问题,终于在睡觉前解决了,在这篇随笔中记录一下. 在 docker swarm 集群的 manager 节点上用 docker cli 命令可以正常管理集群.但是在另外一台不是集群节点的主机上,虽然设置了DOCKER_HOST环境变量 export DOCKER_HOST="tcp://manger节点内网IP:2377" 但连接不上 # docker ps Cannot connect to the Docker daemon at