centos7配置zookeeper+mesos+marathon+docker
来源:互联网 发布:阿里云ip 编辑:程序博客网 时间:2024/06/11 15:21
本文主要介绍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对应关系
- 在每台机器上,修改
/etc/hostname
,分别将其内容更改为host-1
,host-2
,host-3
- 修改每台机器上的
/etc/hosts
文件,在每个hosts文件中都添加上主机与ip的对应关系,即(注意需要与hostname相互呼应)
192.168.20.17 host-2192.168.20.15 host-3192.168.20.16 host-1
主机名更改后,需要重启机器,使其生效
安装并配置zookeeper
- 添加库
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
- 通过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_direcho '/home/mesos_work_dir' | tee /etc/mesos-slave/work_direcho '/home/mesos_work_dir' | tee /etc/mesos-master/work_dir
- 配置docker相关内容
echo 'docker,mesos' > /etc/mesos-slave/containerizersecho '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 marathon
systemctl status marathon
- 查看管理页面
可以在mesos管理页面的frameworks中看到已经激活的marathon,并访问对应节点的8080端口(例如,http://:192.168.20.15:8080/),查看marathon管理页面,如图
安装Chronos
- 安装
yum -y install chronos
- 启动并查看状态
systemctl start chronos
systemctl status chronos
- 查看管理页面
可以在mesos管理页面的frameworks中看到已经激活的chronos,并访问对应节点的4400端口(例如,http://:192.168.20.15:4400/),查看chronos管理页面,如图
- centos7配置zookeeper+mesos+marathon+docker
- Mesos+ZooKeeper+Marathon+Docker
- Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践
- 基于Mesos+Marathon+Zookeeper的Docker容器管理平台
- centos7yum安装mesos(1.0.0)+marathon+zookeeper+docker
- docker+mesos+marathon
- docker on marathon&mesos示例
- 云计算学习总结(1)——PaaS云平台部署之在Centos7搭建Mesos+Zookeeper+Marathon+Docker单机集群
- 在CentOs7上配置Mesos+Zookeeper
- Mesos+Zookeeper+Marathon+Docker分布式部署打造PaaS云平台实践(一)
- Bluemix平台一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群之一
- Bluemix平台一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群之二
- 基于Mesos+Marathon+Zookeeper的Docker集群管理环境搭建过程分享
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
- 使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- Eclipse项目迁移AndroidStudio的两种方式
- [清橙A1212]剪枝-动态规划
- jQuery常用选择器总结
- 机器学习-近9年双色球开奖数据的频繁项集
- IntelliJ IDEA相关
- centos7配置zookeeper+mesos+marathon+docker
- Eclipse常用快捷键
- JAVA套接字之TCP编程
- python字符串的格式化(转自:田小计划)
- 8--安装kafka_2.10-0.10.2.0集群(三个节点)
- 停车场管理系统
- new Date()和System.currentTimeMillis()性能之比较
- 修改mysql结束符号
- Github常用命令