02-mesos+marathon+docker安装

一些参考资料:

http://www.cnblogs.com/kevingrace/p/5685313.html

https://www.jianshu.com/p/168f4456e234

看这个

https://blog.csdn.net/qq_35440040/article/details/78427516

https://blog.csdn.net/snipercai/article/details/79273704

marathon启动不起来的解决:

https://blog.csdn.net/fujianfafu/article/details/80697524

datax+cdh+hivesql+hbase+javaspringboot+docker+marathon+messon+presto这些

1, marathon+mesos的安装

集群介绍:很简单,因为是用虚拟机测试,所以我一共创建三台虚拟机,node201,node202, node203, ip地址分别是:192.168.83.201, 192.168.83.202, 193.168.83.203. 然后mesos-master分布在node201,node202, node203, mesos-slave分布在node201, node202, node203。marathon也是一样,zk也是

1.1, 添加mesos的yum源
$> rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-2.noarch.rpm
1.2, 安装mesos,marathon
  • (zk已经手动安装配置过,这里不再安装, 如果没有也可以在这里直接安装yum -y install mesosphere-zookeeper,具体配置可自行搜索), mesos速度有点慢,做好心理准备
$> yum -y install mesos marathon
1.3, mesos配置zk
  • 修改/etc/mesos/zk文件内容,格式如下:需要根据自己的集群修改zk的地址(注意:我这里配置了hosts,如果hosts文件中没有映射具体的ip地址,这里需要写ip地址)
zk://node201:2181,node202:2181,node203:2181/mesos
1.4, 配置mesos-master
1.4.1, quorum
  • 修改/etc/mesos-master/quorum文件内容, 设置 quorum=2 的意思是:至少要有 2 台 master 节点在线,否则集群无法起来,所以至少要两台 master 一起启动。
2
1.4.2, hostname
  • 修改/etc/mesos-master/hostname文件内容, 这个应该是界面上显示的机器的ip地址,每台master机器配置自己的哈。应该只能写ip,我试了一下写node201, 结果好像出错了,找不到原因,重启机器之后就好了。最好写ip吧。
  • 也有的教程说在/et/mesos-master/下要再加一个ip为名字的文件,里面也要写上ip地址,但是我没有创建这个文件,也可以正常跑起来mesos-master
  • 最后还是ip文件下写ip, hostname文件下写hostname
192.168.83.201
1.4.3, 启动mesos-master节点
  • 设置成开机启动:systemctl enable mesos-master

systemctl start mesos-master

1.4.4, 检查是否启动正常

http://192.168.83.201:5050

1.4.5, 不正常的时候 查看状态和日志

systemctl status mesos-master

service mesos-master status -l

journalctl -u mesos-master

1.5, 配置mesos-slave
1.5.1, hostname
  • 修改/etc/mesos-slave/hostname文件内容, 是本机的ip地址(因为机器有限,所有我把slave节点和master节点放在同一台机器上)
192.168.83.201
1.5.2, 启动mesos-slave节点
  • 设置成开机启动:systemctl enable mesos-slave

systemctl start mesos-slave

1.5.3, 检查是否启动正常

http://192.168.83.201:5050

1.5.4, 不正常的时候 查看状态和日志

systemctl status mesos-slave

service mesos-slave status -l

journalctl -u mesos-slave

1.6, 配置marathon
1.6.1, 创建目录/etc/marathon/conf

mkdir -p /etc/marathon/conf

cd /etc/marathon/conf

1.6.2, 在该目录下创建如下三个文件,内容分别如下:
  • hostname
192.168.83.201
  • master, 这个其实是配置mesos的zk
zk://node201:2181,node202:2181,node203:2181/mesos
  • marathon, 这个是配置marathon的zk (也有的教程说这个文件名是zk,我用的marathon,后来跑不起来,然后查资料,又修改了另外一个地方的配置文件ok了。不知道直接用zk名字是不是可以直接跑起来)
zk://node201:2181,node202:2181,node203:2181/marathon
1.6.3, 启动marathon

systemctl start marathon

1.6.4, 查看是否启动正常

http://192.168.83.201:8080

1.6.5, 启动不正常的时候 查看状态和日志
  • 我这里不正常,参考了如下文章解决:https://blog.csdn.net/fujianfafu/article/details/80697524

systemctl status mesos-master

service mesos-master status -l

journalctl -u mesos-master

1.6.6, marathon启动不起来的解决
  • 查看日志后,发现是master配置找不到,尝试着给marathon填加mesos的地址参数,在文件/etc/default/marathon中增加如下内容:

    MARATHON_MASTER="zk://node201:2181,node202:2181,node203:2181/mesos"
    MARATHON_ZK="zk://node201:2181,node202:2181,node203:2181/marathon"
    MARATHON_MESOS_USER="root"
    
1.6.7, 关闭,再启动,ok了

systemctl stop marathon

systemctl start marathon

你可能感兴趣的:(02-mesos+marathon+docker安装)