docker+zookeeper+mesos+marathon集群
实验环境:
| 主机名 | ip地址 | 运行服务 | 安装组件 |
| docker-master1 | 192.168.20.210 | zookeeper mesos-master marathon |
mesos jdk1.8 |
| docker-master2 | 192.168.20.211 | zookeeper mesos-master marathon |
mesos jdk1.8 |
| docker-master3 | 192.168.20.212 | zookeeper mesos-master marathon |
mesos jdk1.8 |
| docker-slave1 | 192.168.20.213 | mesos-slave |
mesos docker-engine |
| docker-slave2 | 192.168.20.214 | mesos-slave |
mesos docker-engine |
一、 准备工作:
1.1 关闭Selinux
# setenforce 0
# sed -i '/^SELINUX=/c SELINUX=disabled'/etc/selinux/config
1.2 关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
1.3 配置主机名解析
[root@docker-master1 ~]# vi /etc/hosts
192.168.20.210 docker-master1
192.168.20.211 docker-master2
192.168.20.212 docker-master3
192.168.20.213 docker-slave1
192.168.20.214 docker-slave2
1.4更新mesos、marathon源
rpm -ivh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
二、 master节点配置
2.1 master节点安装JDK1.8
tar -zxvf /root/jdk-8u171-linux-x64.tar.gz -C /usr/local
cat >> /etc/profile << EOF export JAVA_HOME=/usr/local/jdk1..0_171
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH EOF
source /etc/profile
2.2 master 安装zookeeper(这里只以192.168.20.210为例)
2.2.1 解压zookeeper
tar zxf /root/zookeeper-3.4.8.tar.gz /usr/local
2.2.2创建zookeeper的日志目录和数据目录
mkdir /usr/local/zookeeper-3.4.8/{logs,data}
2.2.3修改zookeeper配置文件
touch /usr/local/zookeeper-3.4.8/conf/zoo.cfg
cat /usr/local/zookeeper-3.4./conf/zoo.cfg tickTime=
dataDir=/usr/local/zookeeper-3.4.8/data
dataLogDir=/usr/local/zookeeper-3.4.8/logs
clientPort=
initLimit=
syncLimit=
server.=192.168.20.210::
server.=192.168.20.211::
server.=192.168.20.212::
1、2、3表示对应服务器上的myid,2888端口表示和leader通讯端口,3888端口表示选举端口
touch /usr/local/zookeeper-3.4.8/data/myid (每台主机上的myid是有zoo.cfg文件里的server后面的数字决定)
cat /usr/local/zookeeper-3.4./data/myid
cat >> /etc/profile << EOF
export PATH=$PATH:/usr/local/zookeeper-3.4./bin
EOF
source /etc/profile
2.2.4启动zookeeper
zkServer.sh start
2.2.5 查看zookeeper状态
[root@docker-master1 zookeeper]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower
2.3 master节点安装mesos(这里只以192.168.20.210为例)
2.3.1安装mesos程序
yum install mesos -y
2.3.2配置mesos
vi /etc/mesos/zk zk://192.168.20.210:2181,192.168.20.211:2181,192.168.20.212:2181/mesos
[root@docker-master1 ~]# cd /etc/mesos-master
[root@docker-master1 mesos-master]# cat cluster
mesoscluster
[root@docker-master1 mesos-master]# cat hostname
192.168.20.210
[root@docker-master1 mesos-master]# cat ip
192.168.20.210
[root@docker-master1 mesos-master]# cat quorum
2
[root@docker-master1 mesos-master]# cat work_dir
/var/lib/mesos
quorum表示zookeeper集群中 要求最少参加选举节点的数目,一般设置为zookeeper集群节点个数的一半多些(比如3个节点的话,可配置为2)
2.3.2 启动mesos服务
systemctl start mesos-master
默认端口5050,访问地址:http://192.168.20.210:5050
2.4 master节点安装marathon(这里只以192.168.20.210为例)
2.4.1 安装marathon程序
yum install -y marathon
2.4.1创建marathon配置文件目录(1.5版本之前)
mkdir -p /etc/marathon/conf
[root@docker-master1 conf]# ls
hostname master zk
[root@docker-master1 conf]# cat hostname
192.168.20.210
[root@docker-master1 conf]# cat master
zk://192.168.20.210:2181,192.168.20.211:2181,192.168.20.212:2181/mesos
[root@docker-master1 conf]# cat zk
zk://192.168.20.210:2181,192.168.20.211:2181,192.168.20.212:2181/marathon
1.5版本之后在/etc/default/marathon文件最下面增加如下两行
MARATHON_MASTER=zk://docker-master1:2181,docker-master2:2181,docker-master3:2181/mesos
MARATHON_ZK=zk://docker-master1:2181,docker-master2:2181,docker-master3:2181/marathon
2.4.2 启动marathon
systemctl start marathon
如果启动不了,查看/var/log/message,如有以下错误,
No start hook file found ($HOOK_MARATHON_START). Proceeding with the start script.
则可以在命令行直接启动marathon
nohup marathon --master zk://192.168.20.210:2181,192.168.20.211:2181,192.168.20.212:2181/mesos --zk zk://192.168.20.210:2181,192.168.20.211:2181,192.168.20.212:2181/marathon &
默认8080端口,访问地址:http://192.168.20.210:8080/ui/#/apps
三、slave节点配置
3.1 slave安装docker(这里只以192.168.20.213为例)
yum install docker
3.1.1 启动docker并且设置为开机自启动
systemctl enable docker.service systemctl start docker.service
3.2 slave安装mesos(这里只以192.168.20.213为例)
3.2.1 安装mesos程序
yum install mesos -y
3.2.2配置mesos-slave
[root@docker-slave1 mesos-slave]# cd /etc/mesos-slave/
[root@docker-slave1 mesos-slave]# ls
attributes containerizers executor_registration_timeout hostname ip work_dir
[root@docker-slave1 mesos-slave]# cat attributes
rack_id:rack-
[root@docker-slave1 mesos-slave]# cat containerizers
docker,mesos
[root@docker-slave1 mesos-slave]# cat executor_registration_timeout
15mins
[root@docker-slave1 mesos-slave]# cat hostname
192.168.20.213
[root@docker-slave1 mesos-slave]# cat ip
192.168.20.213
[root@docker-slave1 mesos-slave]# cat work_dir
/var/lib/mesos
3.2.3启动mesos-slave
systemctl start mesos-slave
mesos-slave默认端口为5051
完成以上操作即完成了Mesos的DCOS集群搭建,下一章我们介绍《marathon的高可用服务自动发现和负载均衡》。
docker+zookeeper+mesos+marathon集群的更多相关文章
- 基于zookeeper+mesos+marathon的docker集群管理平台
参考文档: mesos:http://mesos.apache.org/ mesosphere社区版:https://github.com/mesosphere/open-docs mesospher ...
- Docker快速搭建Zookeeper和kafka集群
使用Docker快速搭建Zookeeper和kafka集群 镜像选择 Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeiste ...
- 使用Docker快速搭建Zookeeper和kafka集群
使用Docker快速搭建Zookeeper和kafka集群 镜像选择 Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeiste ...
- 基于zookeeper的Swarm集群搭建
简介 Swarm:docker原生的集群管理工具,将一组docker主机作为一个虚拟的docker主机来管理. 对客户端而言,Swarm集群就像是另一台普通的docker主机. Swarm集群中的每台 ...
- Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)
文章转载自:http://www.mydlq.club/article/97/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...
- Docker 容器部署 Consul 集群
Docker 容器部署 Consul 集群 一.docker安装与启动1.1安装docker[root@localhost /]# yum -y install docker-io 1.2更改配置文件 ...
- zookeeper部署及集群测试
zookeeper部署及集群测试 环境 三台测试机 操作系统: centos7 ; hostname: c1 ; ip: 192.168.1.80 操作系统: centos7 ; hostname: ...
- ZooKeeper伪分布集群安装及使用 RMI+ZooKeeper实现远程调用框架
使用 RMI + ZooKeeper 实现远程调用框架,包括ZooKeeper伪集群安装和代码实现两部分. 一.ZooKeeper伪集群安装: 1>获取ZooKeeper安装包 下载地址:ht ...
- (转)ZooKeeper伪分布式集群安装及使用
转自:http://blog.fens.me/hadoop-zookeeper-intro/ 前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品.在单机中,系统协作大都是进程级的 ...
随机推荐
- 安装CentOS 6.x出现Disk sda contains BIOS RAID metadata
今天在安装CentOS 6.6的时候,当进到检测硬盘步骤的时候,总是过不去,报错如下:Disk sda contains BIOS RAID metadata, but is not part of ...
- git Permissions 0777 for '/home/xxx/.ssh/id_rsa' are too open.
使用 git 时出现下面的问题,原因是 git 公钥的权限被修改了. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WAR ...
- web deploy 部署到远程服务器(win server 2008 r2) 遇到的问题。。。。
和他遇到的情况一样,最后也解决了 http://www.cnblogs.com/brucejia/archive/2012/07/30/2615416.html 安装的前提是先看下这里: http:/ ...
- ylbtech-Tool:
ylbtech-Tool: 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 7.返回顶部 8.返回顶部 9.返回顶部 10. ...
- Eclipse Android 代码自动提示功能 +导入 epf
1.设置 java 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist ...
- varnish/squid/nginx cache 有什么不同?
SQUID 是功能最全面的,但是架构太老,性能不咋的Varnish 是内存缓存,速度一流,但是内存缓存也限制了其容量,缓存页面和图片一般是挺好的Nginx 本来是反向代理/web服务器,用了插件可以做 ...
- 不用写代码就能实现深度学习?手把手教你用英伟达 DIGITS 解决图像分类问题
2006年,机器学习界泰斗Hinton,在Science上发表了一篇使用深度神经网络进行维数约简的论文 ,自此,神经网络再次走进人们的视野,进而引发了一场深度学习革命.深度学习之所以如此受关注,是因为 ...
- jsp 学习 第2步 - tag 使用
tag 类似 asp.net 用户控件,用于动态显示HTML 我首先在项目 /WebContent/WEB-INF/ 建立 tags目录 用于存放 tag文件 新建一个message.tag 文件 ...
- delphi 路径函数
delphi path functionIncludeTrailingPathDelimiterIncludeTrailingPathDelimiter ensures that a path nam ...
- Spring IO Platform介绍
为什么要用Spring IO Platform 今天无意间看到了一个关键词:"Spring IO Platform",第一直觉是不是有关于IO方面的框架或者包呢,查了一下,居然是为 ...