在守护程序模式下启动apachemesos

mbzjlibv  于 2021-06-26  发布在  Mesos
关注(0)|答案(2)|浏览(302)

有人知道mesos1.3.0的初始化脚本在哪里吗(我在ubuntu16.0上从源代码构建了mesos)
我正在通过ansible启动以下mesos:

/opt/mesos/build/bin/mesos-master.sh --ip=`hostname -i` --work_dir=/var/lib/mesos

然而,一旦ansible从终端断开连接,Mesos过程就消失了。因此,这种启动mesos的方式似乎与远程自动安装不兼容。
我已经尝试过使用nohup在命令前面,并将其背景化,以及在这个脚本中(没有效果):


# !/bin/bash

# Start the mesos slave

# Start Mesos master (ensure work directory exists and has proper  permissions).

 nohup /opt/mesos/build/bin/mesos-agent.sh --master=`cat    /tmp/master.ip`:5050 --work_dir=/var/lib/mesos &```

它似乎只在我手动运行它,登录到终端,并且通过ansible启动它时才起作用,不会导致进程保持运行。

dzjeubhm

dzjeubhm1#

mesos不附带daemon init脚本。你需要自己准备。
你可以看看中间层/中间层deb Package
例如,systemd脚本可以如下所示:

[Unit]
Description=Mesos Master
After=network.target
Wants=network.target

[Service]
ExecStart=/usr/bin/mesos-init-wrapper master
Restart=always
RestartSec=20
LimitNOFILE=16384

[Install]
WantedBy=multi-user.target
a0x5cqrl

a0x5cqrl2#

代理配置示例。对于我使用ubuntu/init.d,以最简单的形式完成了以下工作,当然还有优化的空间:
创建一个可执行文件, /etc/init.d/mesos 使用以下内容:


# ! /bin/sh

### BEGIN INIT INFO

# Provides:             mesos

# Default-Start:        2 3 4 5

# Default-Stop:         0 1 6

# Short-Description:    Apache Mesos 1.5.0

### END INIT INFO

set -e

case "$1" in
  start)
       /opt/mesos/bin/mesos-agent.sh --master=<YOUR_MASTER_HOST>:5050 --work_dir=/var/lib/mesos &  > /var/log/mesos 2>&1
       ;;
esac

exit 0

从以下内容开始: service mesos start

相关问题