云计算学习总结(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在整个数据中心或云环境中运行和提供引用(例如,HadoopSpark,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 机器上,也可以实现虚拟化。 
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
原创粉丝点击