centos7配置zookeeper+mesos+marathon+docker
2017-09-01 03:38
162 查看
本文主要介绍mesos相关集群的安装和配置过程,主要在centos7中采用yum安装的方法,帮助快速搭建可用的mesos集群服务,可以借助marathon等工具,进行docker的管理。本文主要讲述该集群的安装和配置过程,并不涉及该集群的使用方法演示。
下面,我们开始安装过程,首先,我们有三台机器,IP分别为192.168.20.15,192.168.20.16,192.168.20.17,并目标安装以下组件,
- zookeeper
- mesos
- docker
- marathon
- chronos
修改每台机器上的
主机名更改后,需要重启机器,使其生效
下面,我们开始安装过程,首先,我们有三台机器,IP分别为192.168.20.15,192.168.20.16,192.168.20.17,并目标安装以下组件,
- zookeeper
- mesos
- docker
- marathon
- chronos
部署过程
环境
软件 | 版本 |
---|---|
操作系统 | centos 3.10.0-514.el7.x86_64 |
zookeeper | mesosphere-zookeeper-3.4.6 |
配置主机名及IP对应关系
在每台机器上,修改/etc/hostname,分别将其内容更改为
host-1,
host-2,
host-3
修改每台机器上的
/etc/hosts文件,在每个hosts文件中都添加上主机与ip的对应关系,即(注意需要与hostname相互呼应)
192.168.20.17 host-2 192.168.20.15 host-3 192.168.20.16 host-1
主机名更改后,需要重启机器,使其生效
安装并配置zookeeper
添加库rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm[/code]
通过yum为每台机器安装zookeeper,sudo yum install mesosphere-zookeeper
编辑每台机器上的配置文件/etc/zookeeper/conf/zoo.cfg,在末尾添加server.1=host-1:2088:3088 server.2=host-2:2088:3088 server.3=host-3:2088:3088
在此处中,server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口。
为每个节点设置不同的myid值,在/var/lib/zookeeper/myid中写入一个1到255范围的数值,需要注意的是,不能重复,并与上面的配置对应。可以参考如下命令echo '2' | sudo tee /var/lib/zookeeper/myid
开启服务并判断是否成功
打开服务systemctl start zookeeper
查看状态systemctl status zookeeper
尝试连接cd /opt/mesosphere/zookeeper/bin/ ./zkCli.sh -server 127.0.0.1
注意,同样,我们需要用这个方法,要测试一下另外的两台机器,已保证均可正常连接。可以用quit命令退出连接
如果不能互连,请确实是否是防火墙的原因,可以现将防火墙进行管理,并测试
关闭防火墙systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
另外,可以通过/opt/mesosphere/zookeeper/bin/zkServer.sh status /etc/zookeeper/conf/zoo.cfg查看每台机器中的zookeeper的角色,例如,其中一个为leader
另外两个为follower安装mesos
首先,我们需要大致了解一下mesos中的各个角色和作用,其中
1. Mesos-master:主要负责管理各个framework和slave,并将slave上的资源分配给各个framework
2. Mesos-slave:负责管理本节点上的各个mesos-task,比如:为各个executor分配资源
3. Framework:计算框架,如:Hadoop,Spark等,通过MesosSchedulerDiver接入Mesos,在本文中,例如marathon就是一种计算框架。
4. Executor:执行器,安装到mesos-slave上,用于启动计算框架中的task。
当用户试图添加一种新的计算框架到Mesos中时,需要实现一个Framework scheduler和executor以接入Mesos。
安装过程如下:
在每台机器上,安装mesos,yum -y install mesos
需要注意的是,在该教程中,我们将三台机器均作为master节点,同时,又作为slave节点。
编辑配置文件vim /etc/mesos/zk,在每个节点中,均改为zk://host-1:2181,host-2:2181,host-3:2181/mesos
注意,2181与zookeeper的运行服务端口是一致的
将/etc/mesos-master/quorum中的数字修改为2,这里的2表示至少要有 2 台 master 节点在线,否则集群无法起来,所以至少要两台 master 一起启动。echo '2' | tee /etc/mesos-master/quorum
更改work_dir配置项
例如,修改/etc/mesos-slave及/etc/mesos-master中的work_dir中。mkdir -p /home/mesos_work_dir echo '/home/mesos_work_dir' | tee /etc/mesos-slave/work_dir echo '/home/mesos_work_dir' | tee /etc/mesos-master/work_dir
配置docker相关内容echo 'docker,mesos' > /etc/mesos-slave/containerizers echo '5mins' > /etc/mesos-slave/executor_registration_timeout
顺便提一下,master节点的一些配置文件在`/etc/mesos-master/’目录下,而slave中的一些配置文件在‘/etc/mesos-slave’中,配置选项可以参考 《Mesos 配置项解析》 一文,每项配置,都可以写在以该配置项名称命名的文件中。
启动mesos
在每台机器上,启动mesos master服务systemctl start mesos-master
启动mesos slave服务systemctl start mesos-slave
查看服务状态systemctl status mesos-master systemctl status mesos-slave
访问mesos管理平台
访问例如“http://192.168.20.15:5050”,可以看到
如果其运行显示时存在问题,例如无法正确打开相关网页,或者反复提示问题,可以参考关于mesos搭建,webui显示不正常的原因及解决办法中。安装docker
安装docker服务yum -y install docker
将docker服务启动为开机启动systemctl enable docker
将指定用户添加到用户组
建立 docker 组:groupadd docker
将当前/某个用户加入 docker 组:usermod -aG docker $USER
重新登录账户 并重启dockersystemctl restart docker
查看docker服务状态systemctl status docker安装marathon
安装yum -y install marathon
启动并查看状态systemctl start marathonsystemctl status marathon
查看管理页面
可以在mesos管理页面的frameworks中看到已经激活的marathon,并访问对应节点的8080端口(例如,http://:192.168.20.15:8080/),查看marathon管理页面,如图安装Chronos
安装yum -y install chronos
启动并查看状态systemctl start chronossystemctl status chronos
查看管理页面
可以在mesos管理页面的frameworks中看到已经激活的chronos,并访问对应节点的4400端口(例如,http://:192.168.20.15:4400/),查看chronos管理页面,如图
相关文章推荐
- RedHat 5.8 安装Oracle 11gR2_Grid集群
- mysql集群之MMM简单搭建
- 搭建集群平台
- 集群---Keepalived+lvs
- ActiveMQ(13):ActiveMQ的集群
- 详解使用docker 1.12 搭建多主机docker swarm集群
- MySQL的集群配置的基本命令使用及一次操作过程实录
- MySQL slave_net_timeout参数解决的一个集群问题案例
- docker搭建rabbitmq集群环境的方法
- 在Ubuntu 16.04上用Docker Swarm和DigitalOcean创建一个Docker容器集群的方法
- Redis 集群搭建和简单使用教程
- 详解使用docker搭建hadoop分布式集群
- 使用集群搭建SSH的作用及这些命令的含义
- Windows Server 2003 下配置 MySQL 集群(Cluster)教程
- redis集群搭建_动力节点Java学院整理
- tomcat6_apache2.2_ajp 负载均衡加集群实战分享
- 详解docker搭建redis集群的环境搭建
- 详解CentOS 6.5搭建Redis3.2.8单机分布式集群
- CentOS 7下安装 redis 3.0.6并配置集群的过程详解