当我们默认安装
yum install marathon
#mkdir -p /etc/marathon/conf/ && touch hostname
#echo 192.168.176.138 | sudo tee /etc/marathon/conf/hostname
进行systemctl start marathon之后,我们会遇到marathon启动失败的情况,如下:
[root@k8s-node-1 ~]# systemctl status marathon
● marathon.service - Scheduler for Apache Mesos
Loaded: loaded (/usr/lib/systemd/system/marathon.service; disabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since 二 2018-07-10 17:38:40 CST; 14s ago
Process: 3754 ExecStart=/usr/share/marathon/bin/marathon (code=exited, status=1/FAILURE)
Process: 3751 ExecStartPre=/bin/chmod 755 /run/marathon (code=exited, status=0/SUCCESS)
Process: 3748 ExecStartPre=/bin/chown marathon:marathon /run/marathon (code=exited, status=0/SUCCESS)
Process: 3744 ExecStartPre=/bin/mkdir -p /run/marathon (code=exited, status=0/SUCCESS)
Main PID: 3754 (code=exited, status=1/FAILURE)
7月 10 17:38:40 k8s-node-1 systemd[1]: Unit marathon.service entered failed state.
7月 10 17:38:40 k8s-node-1 systemd[1]: marathon.service failed.
这个错误没告诉我们为什么启动失败,我们查下当前进程
journalctl -o verbose _PID=3754
[root@k8s-node-1 ~]# journalctl -o verbose _PID=3754
-- Logs begin at 二 2018-07-10 17:26:50 CST, end at 二 2018-07-10 17:40:46 CST. --
二 2018-07-10 17:38:31.690312 CST [s=5d6c1b4fa2c74213a96d4b6db61c0fae;i=9c9;b=1922f6a23fb74d2c872eee5dd3f98944;m=2a2af273;t=570a1e4a61c48;x=e410a948dc6c1171]
PRIORITY=6
_SYSTEMD_SLICE=system.slice
_BOOT_ID=1922f6a23fb74d2c872eee5dd3f98944
_MACHINE_ID=cf6a47d9094a4ef697f8b9c00c3147ec
SYSLOG_FACILITY=3
_TRANSPORT=stdout
_HOSTNAME=k8s-node-1
_EXE=/usr/bin/bash
_CAP_EFFECTIVE=0
SYSLOG_IDENTIFIER=marathon
MESSAGE=
No start hook file found ($HOOK_MARATHON_START). Proceeding with the start script.
_PID=3754
_UID=982
_GID=979
_COMM=bash
_CMDLINE=bash /usr/share/marathon/bin/marathon
_SYSTEMD_CGROUP=/system.slice/marathon.service
_SYSTEMD_UNIT=marathon.service
二 2018-07-10 17:38:40.188702 CST [s=5d6c1b4fa2c74213a96d4b6db61c0fae;i=9cd;b=1922f6a23fb74d2c872eee5dd3f98944;m=2aac9f49;t=570a1e527c91e;x=cece0f0e2c263111]
PRIORITY=6
_SYSTEMD_SLICE=system.slice
_BOOT_ID=1922f6a23fb74d2c872eee5dd3f98944
_MACHINE_ID=cf6a47d9094a4ef697f8b9c00c3147ec
SYSLOG_FACILITY=3
_TRANSPORT=stdout
_HOSTNAME=k8s-node-1
_CAP_EFFECTIVE=0
SYSLOG_IDENTIFIER=marathon
_PID=3754
_UID=982
_GID=979
_SYSTEMD_CGROUP=/system.slice/marathon.service
_SYSTEMD_UNIT=marathon.service
MESSAGE=
[scallop] Error: Required option 'master' not found
_COMM=java
_EXE=/usr/java/jdk1.8.0_131/jre/bin/java
_CMDLINE=java -cp /usr/share/marathon/lib/mesosphere.marathon.marathon-1.6.496.jar:/usr/share/marathon/lib/mesosphere.marathon.plugin-interface-1.6.496.jar:/usr/share/marathon/lib/org.scala-lang.scala-reflect-2.12.4.jar:
一个报找不到钩子脚本执行。一个报没找到mesos-master
这里我们确认先启动zookeeper+mesos-master
那么这个一定是配置问题。找不到mesos-master说明根本找不到zookeeper的映射mesos地址
默认安装的marathon只有去系统默认环境配置
vi /etc/default/marathon
末尾添加
MARATHON_MASTER="zk://192.168.176.136:2181,192.168.176.137:2181,192.168.176.138:2181/mes"
MARATHON_ZK="zk://192.168.176.136:2181,192.168.176.137:2181,192.168.176.138:2181/marathon"
MARATHON_MESOS_USER="root"
然后shutdown -r now
这时貌似就正常的了
访问UI
暂时没深研为什么这样配置就好了,后续有空再看
如果要了解mesos的配置