云计算学习总结(1)——PaaS云平台部署之在Centos7搭建Mesos+Zookeeper+Marathon+Docker单机集群
来源:互联网 发布:淘宝卖家中心 编辑:程序博客网 时间:2024/06/04 23:41
-----------------------------------------------------------------------------------
========Mesos+Docker+Zookeeper+Marathon(在Centos7部署Mesos和Marathon单机集群)=========
-----------------------------------------------------------------------------------
Mesos:Mesos采用与Linux kernerl相同的机制,只是运行在不同的抽象层次上。Mesos kernel利用资源管理和调度的API在整个数据中心或云环境中运行和提供引用(例如,Hadoop,Spark,Kafaka,Elastic Search)。
Zookeeper:zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
Marathon:marathon是一个mesos框架,能够支持运行长服务,比如web应用等。是集群的分布式Init.d,能够原样运行任何Linux二进制发布版本,如Tomcat Play等等,可以集群的多进程管理。也是一种私有的Pass,实现服务的发现,为部署提供提供REST API服务,有授权和SSL、配置约束,通过HAProxy实现服务发现和负载平衡
Docker:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Zookeeper:zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
Marathon:marathon是一个mesos框架,能够支持运行长服务,比如web应用等。是集群的分布式Init.d,能够原样运行任何Linux二进制发布版本,如Tomcat Play等等,可以集群的多进程管理。也是一种私有的Pass,实现服务的发现,为部署提供提供REST API服务,有授权和SSL、配置约束,通过HAProxy实现服务发现和负载平衡
Docker:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
1.先安装Docker
在CentOS7.3的系统中安装docker
yum install docker
2.配置 docker daemon 参数
编辑文件/lib/systemd/system/docker.service, 修改ExecStart内容。
Docker version: 1.11
ExecStart=/usr/bin/docker daemon -s overlay -g /data/docker -H fd:// -Htcp://0.0.0.0:2375
Docker version: 1.12
ExecStart=/usr/bin/dockerd -s overlay -H tcp://0.0.0.0:2375 -Hunix:///var/run/docker.sock
3.搭建 Master 节点
设置 Repository
# Add the repositorysudo rpm -Uvhhttp://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
安装
sudo yum -y install mesos marathon mesosphere-zookeeper
配置
zookeeper
设置 ID
sudo echo 1 > /var/lib/zookeeper/myid
启动 zookeeper
sudo systemctl start zookeeper
Mesos & Marathon
配置 hostname
echo '$IPADDR' > /etc/mesos-master/hostnamemkdir -p /etc/marathon/confecho'$IPADDR' > /etc/marathon/conf/hostname
启动服务
service mesos-master restartservice marathon restart
4.搭建 Slave 节点
配置
mesos
配置 hostname
echo '$IPADDR' > /etc/mesos-slave/hostname
配置 slave 指定使用 Docker containerizer
echo 'docker,mesos' > /etc/mesos-slave/containerizersecho '5mins' >/etc/mesos-slave/executor_registration_timeout
启动服务
service mesos-slave restart
检查
RPM 列表
mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
mesos-1.0.0-2.0.89.centos701406.x86_64
marathon-1.1.2-1.0.488.el7.x86_64
5.Marathon: http://$IPADDR:8080
6.Mesos: http://$IPADDR:5050
7.创建应用 nginx
8.参考
https://open.mesosphere.com/getting-started/install/
https://mesosphere.github.io/marathon/docs/native-docker.html
配置 consul (如果不用,可以不配置)
安装 consul
Linux
# docker run --restart=always -v /mnt:/data -d --net=host progrium/consul -server -bind=192.168.1.155 -client=0.0.0.0 -bootstrap
or Mac (Mac net host 模式也不是本地 IP)
# docker run --restart=always -v /mnt:/data -d -p 8400:8400 -p 8500:8500 -p 8600:53/udp progrium/consul -server -bootstrap
在 consul KV 里添加 master 节点地址:
curl -X PUT http://127.0.0.1:8500/v1/kv/nodes -d '{"masters":["192.168.1.100:5050", "192.168.1.101:5050", "192.168.1.102:5050"], "slaves":[]}'return: true
注册 marathon API 路由到 consul
curl -L -X PUT -d '{"ID": "marathon","Name": "marathon","Address": "192.168.1.155","Port": 8080, "Check": {"Script": "echo OK", "Interval": "1s"}}' 192.168.1.155:8500/v1/agent/service/register
注册 zookeeper 路由到 consul
curl -L -X PUT -d '{"id":"zookeeper-192.168.1.155" , "name": "zookeeper", "tags": [""], "port": 2181, "Check": {"Script": "echo OK", "Interval": "1s"}}' 192.168.1.155:8500/v1/agent/service/register
- 192.168.1.155 是本机 IP 地址.
- 关于服务定义和健康检查可以查看https://www.consul.io/intro/getting-started/join.html
安装 mysql
docker run --restart=always --name=mysqlserver -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 -e MYSQL_DATABASE=b
1 0
- 云计算学习总结(1)——PaaS云平台部署之在Centos7搭建Mesos+Zookeeper+Marathon+Docker单机集群
- Mesos+Zookeeper+Marathon+Docker分布式部署打造PaaS云平台实践(一)
- Bluemix平台一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群之二
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
- Bluemix平台一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群之一
- centos7配置zookeeper+mesos+marathon+docker
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
- Mesos, Marathon, Docker 平台部署记录
- Mesos+ZooKeeper+Marathon+Docker
- Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- 基于Mesos+Marathon+Zookeeper的Docker集群管理环境搭建过程分享
- 使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- Docker+Mesos+Marathon(弹性云平台)基础选型
- Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践
- mesos+marathon平台搭建
- 《深入理解java虚拟机》学习笔记一/类加载机制
- android源码设计模式解析与实战 笔记 7.6节
- Pycharm2017注册码
- 如何用几何画板作正方体的动态展开图
- python requests方法
- 云计算学习总结(1)——PaaS云平台部署之在Centos7搭建Mesos+Zookeeper+Marathon+Docker单机集群
- 10 个你值得拥有的 Vim 配色方案
- STL基本用法【vector】【map】【string】【set】
- 身体就是控制器,微软Kinect是怎样做到的?
- 一张图看明白 Android Activity 生命周期
- Java学习【知识点及代码4.1】
- 51单片机--巧记步进电机相关知识
- eclipse 设置默认编码为Utf-8
- UESTC 1065 全都是秋实大哥 kmp