局域网内部署mesos,marathon,通过nginx反向代理访问

来源:互联网 发布:c语言如何编写手机程序 编辑:程序博客网 时间:2024/05/07 11:32

集群组成:

环境:centos 7

10.27.2.8: mesos master ,mesos slave ,zookeeper,docker

10.27.3.4: mesos slave, zookeeper,docker

10.27.1.180:mesos slave ,zookeeper,docker

10.27.1.55:mesos slave,zookeeper,docker

跳板机:

外网:120.27.157.155  :nginx iptables

内网:10.47.118.128


1、前提条件:

已安装zookeeper,并且已经配置完毕zoo.cfg

已安装docker

已安装nginx


2、下载mesos,marathon

yum mesos marathon chronos-y

yum install http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

3、配置master

$cd /etc/mesos-master

$vi quorum

因为只有一个master所以这个文件里写1

$cd /etc/mesos

$vi zk

写入zk://10.27.2.8:2181,10.27.3.4:2181,10.27.1.180:2181/mesos

启动

$systemctl mesos-master enable

$systemctl mesos-master start

起marathon

$systemctl marathon start

4、配置slave


$cd /etc/mesos

$vi zk


写入zk://10.27.2.8:2181,10.27.3.4:2181,10.27.1.180:2181/mesos


$cd /etc/mesos-slave/

$vi docker_config

file:///root/.docker/config.json

$vi containerizers

docker,mesos

$vi hostname

ip:port

$vi  executor_registration_timeout

10mins

启动

$nohup mesos-agent --master=10.27.2.8:5050 --work_dir=/home/user/tools/mesos/slave &



4、配置nginx

$cd /etc/nginx

$vi nginx.config

#add mesos 5050

   server{

listen 5050;

        server_name 120.27.157.166;

        location / {

proxy_redirect off;

        proxy_set_header Host $host;

        proxy_pass http://10.27.2.8:5050;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }

    }


   #marathon 8080

   server{

        listen 8080;

        server_name 120.27.157.166;

        location / {

        proxy_redirect off;

        proxy_set_header Host $host;

        proxy_pass http://10.27.2.8:8080;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }

    }


$ cd /usr/sbin/
$nginx -s 

5、配置iptables
$iptables -L -n
查看iptables是否开启了8080和5050的端口,如果没有就

$iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
$iptables -A INPUT -p tcp --dport 5050 -j ACCEPT

$systemctl iptables restart
0 0