我正在尝试使用 monit 运行 Mesos(没有 zookeeper)以保持从属运行。
我使用以下脚本来启动和停止 mesos slave:
启动-slave.sh:
#!/bin/bash
nohup /home/someuser/mesos/build/bin/mesos-slave.sh
--master=192.168.0.241:5050
--strict=false
--log_dir=/home/someuser/mesos/logs < /dev/null &
sleep 1
pidof lt-mesos-slave > /home/someuser/run/mesos-slave.pid
停止奴隶.sh:
#!/bin/bash
cat /home/someuser/run/mesos-slave.pid | xargs kill -9
当我通过 ssh 启动脚本时,它们运行良好。但是,当我通过 monit 按如下方式使用它们时,slave 寄存器(我可以在在线界面上看到它们)但是当我尝试使用 spark 运行计算时,它会失败,因为大多数任务都丢失了。
监控设置:
check process mesos-slave with pidfile /home/someuser/run/mesos-slave.pid
start program = "/home/someuser/run/start-mesos.sh"
as uid someuser
stop program = "/home/someuser/run/stop-mesos.sh"
as uid someuser
if failed port 5051 then restart
日志 exerp:
I0925 14:06:21.461169 10633 slave.cpp:2413] Executor '20140924-160043-4043352256-5050-7966-0' of framework 20140925-140255-4043352256-5050-11608-0000 has terminated with signal Killed
E0925 14:06:21.461323 10639 slave.cpp:2686] Failed to unmonitor container for executor 20140924-160043-4043352256-5050-7966-0 of framework 20140925-140255-4043352256-5050-11608-0000: Not monitored
I0925 14:06:21.462224 10633 slave.cpp:2018] Handling status update TASK_LOST (UUID: 8258a34e-7831-4e5d-ba55-6df2b905b5ba) for task 0 of framework 20140925-140255-4043352256-5050-11608-0000 from @0.0.0.0:0
我使用Monit
正确吗?