zookeeper+mesos+docker+swarm

zookeeper 集群安装

1、下载

wget http://mirrors.cnnic.cn/apache/zookeeper/stable/zookeeper-3.4.8.tar.gz

2、解压

mkdir /usr/local/zookeeper && tar zxvf zookeeper-3.4.8.tar.gz && mv zookeeper-3.4.8/* /usr/local/zookeeper ** rm -rf zookeeper-3.4.8

3、创建配置文件

Zookeeper文件配置详解

dataDir:数据目录

dataLogDir:日志目录

clientPort:客户端连接端口

tickTime:Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

initLimit:Zookeeper的Leader 接受客户端(Follower)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒

syncLimit:表示 Leader 与 Follower 之间发送消息时请求和应答时间长度,最长不能超过多少个tickTime 的时间长度,总的时间长度就是 2*2000=4 秒。

server.A=B:C:D:

A 是一个数字,表示这个是第几号服务器;

B 是这个服务器的 ip 地址;

C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;

D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口

cd /usr/local/zookeeper/conf

vim /usr/local/zookeeper/conf/zk1.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/data/zookeeper/zk1/data

dataLogDir=/data/zookeeper/zk1/logs

clientPort=2181

server.1=10.10.16.194:3181:4181

server.2=10.10.16.194:3182:4182

server.3=10.10.16.194:3183:4183

echo "1" >/data/zookeeper/zk1/data/myid

vim /usr/local/zookeeper/conf/zk2.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/data/zookeeper/zk2/data

dataLogDir=/data/zookeeper/zk2/logs

clientPort=2182

server.1=10.10.16.194:3181:4181

server.2=10.10.16.194:3182:4182

server.3=10.10.16.194:3183:4183

echo "2" >/data/zookeeper/zk2/data/myid

vim /usr/local/zookeeper/conf/zk3.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/data/zookeeper/zk3/data

dataLogDir=/data/zookeeper/zk3/logs

clientPort=2183

server.1=10.10.16.194:3181:4181

server.2=10.10.16.194:3182:4182

server.3=10.10.16.194:3183:4183

echo "3" >/data/zookeeper/zk3/data/myid

4、启动Zookeeper

/usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/conf/zk1.cfg

/usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/conf/zk2.cfg

/usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/conf/zk3.cfg

5、查看Zookeeper状态

/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zk1.cfg

/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zk2.cfg

/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zk3.cfg

Mesos集群部署

1、安装Mesosphere仓库到本地

rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

2、Mesos Master部署

yum -y install mesos

配置Mesos连接Zookeeper文件

vim /etc/mesos/zk

zk://10.10.16.194:2181,10.10.16.194:2182,10.10.16.194:2183/mesos

systemctl start mesos-master mesos-slave

3、Mesos Slave部署

yum -y install mesos

echo 10.10.16.193 > /etc/mesos-slave/hostname

echo "mesos,docker" > /etc/mesos-slave/containerizers

vim /etc/mesos/zk

zk://10.10.16.194:2181,10.10.16.194:2182,10.10.16.194:2183/mesos

systemctl start mesos-slave

修改/etc/mesos-slave/hostname后无法启动问题,删除rm -rf /var/lib/mesos/meta/*后再重启即可

Dokcer  swarm 部署

1、下载swarm

docker pull swarm

2、启动swarm

docker run -d --net=host swarm --debug manage -c mesos-experimental --cluster-opt mesos.address=10.10.16.194 --cluster-opt mesos.tasktimeout=100s  --cluster-opt mesos.user=root --cluster-opt mesos.offertimeout=10m --cluster-opt mesos.port=3375 --cluster-opt mesos.enablerevocable=true --host=0.0.0.0:4375 zk://10.10.16.194:2181,10.10.16.194:2182,10.10.16.194:2183/mesos

3、运行容器

docker -H 10.10.16.194:4375 run -d -m 512m -e constraint:res-type==~regular  docker.16qian.cn/niu-ding-feng/product-service-web_prd_1.0.1

CONSUL安装

1、下载CONSUL以及web ui

https://www.consul.io/downloads.html

2、解压后启动服务

在server服务器执行启动命令

./consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n1 -bind=10.10.16.194 -ui-dir /root/web_ui -dc=dc1 &

./consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n1 -bind=10.10.16.193 -ui-dir -dc=dc1 &

在10.10.16.193服务器执行以下命令

./consul join 10.10.16.194

在clent服务器执行以下命令

./consul agent  -data-dir /tmp/consul -node=n3 -bind=10.10.16.190  -dc=dc1 &

./consul join 10.10.16.194

3、查看信息

./consul members

./consul info

时间: 2024-12-16 16:14:27

zookeeper+mesos+docker+swarm的相关文章

一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群

最近在Youtube看Docker视频的过程中不幸看到了Mesos的介绍,然后就有一种一见如故的感觉,最终根据mesosphere官网的文档在IBM的Bluemix虚拟机上搭建了基于ZooKeeper + Mesos + Marathon的平台. 搭建之前先简单了解下各个组件是做什么的.(来自wikipedia及其他网络) ZooKeeper:Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.

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

部署Mesos+zookeeper+Marathon+Docker实战

Mesos是什么? Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核.Mesos能够在同样的集群机器上运行多种分布式系统类型,更加动态有效率低共享资源.提供失败侦测,任务发布,任务跟踪,任务监控,低层次资源管理和细粒度的资源共享,可以扩展伸缩到数千个节点.Mesos已经被Twitter用来管理它们的数据中心.?Mesos中的基本术语解释: 1)Mesos-master:主要负责管理各个framework和slave,并将slave上的资源分配给各个framework

【Docker篇四】Mesos+Zookeeper+Marathon+Docker实战实验

Apache Mesos概述 不同的分布式运算框架(spark,hadoop,ES,MPI,Cassandra,etc.)中的不同任务往往需要的资源(内存,CPU,网络IO等)不同,它们运行在同一个集群中,会相互干扰,为此,应该提供一种资源隔离机制避免任务之间由资源争用导致效率下降,考虑到资源利用率,运维成本,数据共享等因素,公司一般希望将所有这些框架部署到一个公共的集群中,让它们共享集群的资源,并对资源进行统一使用,这样,便诞生了资源统一管理与调度平台,典型的代表就是mesos. Apache

Marathon+Mesos+Docker实战

Marathon+Mesos+Docker实战 Apache Mesos概述 Apache Mesos是一款基于多资源调度的开源集群管理套件,使容错和分布式系统更加容易使用实现,采用Master/Slave结构简化设计,将Master尽可能轻量级,进保存了Mesos Slave的状态信息 常见集群管理工具 工具 特点 优势 Apache Mesos 需要独立部署mesos-slave进程:依赖framework的功能:可管理docker容器:成本较高 应为经过许多互联网公司的大规模实践,稳定性具

(转) Docker swarm - 使用体验 1+2

背景 凭借敏捷开发部署理念的推行,相信对于很多人来说docker这项容器技术已经并不陌生,Docker 1.12引擎发布了快两个月,新引擎中包含了许多特性.诸如: Swarm模式,容器集群的健康检查,节点的身份加密,docker Service API调用,容器启动的过滤匹配方式(constraint), docker的内建路由,以及支持在多平台系统上运行docker(MAC.Windows.AWS.AZURE),以及一些插件升级等等. 特性之多,就连Docker 自己的产品经理也表示这次的新版

Docker Swarm 让你事半功倍

2016 年 DockerCon (天啊--我多么希望我当时在场)上展示的最重大的变革之一就是 1.12 版本引擎的 Swarm 模式.它意味着什么呢?它意味着:如果你在运行 Docker 1.12时 ,你就可以原生创建一个 Swarm 集群. 创建一个 swarm 集群 用这样一条简单的命令: $ docker swarm init 就足够创建一个 Swarm 了(虽然是一个只有简易管理节点的 Swarm,但已经是 Swarm 集群的最简集合). $ docker node ls ID HOS

Docker Swarm入门教程

迄今为止,Docker Swarm问世已有一年的时间.Docker Swarm的首次隆重亮相要追溯到2014年,Docker官方在当年12月的DockerConEU峰会上正式推出了Docker Swarm.Docker Swarm不仅是一种用于管理Docker及Docker Machine的集群管理工具,同时也是一种CLI工具,可用来控制Docker主机.Docker官方意在通过Docker Swarm提供一套全面的.能够覆盖容器运行的各个环节的集成式解决方案,并突破自身的现有定位,实现从单纯提

Mesosphere Cluster on CentOS7 (zookeeper+mesos+marathon)

简介 mesosphere mesos marathon zookeeper: 为master的mesos/marathon的配置文件,这保证master更轻量级. 大概为这几个概念,能找到这里的基本上都是知道他们是干啥的,这里不废话了.不懂的可自行脑补. 环境: Hostname Function IP Address master1 Mesos master 172.18.2.94 master2 Mesos master 172.18.2.95 master3 Mesos master 1