DCOS使用ip-detect脚本进行故障

时间:2017-09-26 06:36:05

标签: mesos mesosphere dcos

我正在尝试使用高级指令安装Mesosphere 1.10,并根据示例创建了以下ip-detect脚本:

#!/usr/bin/env bash
set -o nounset -o errexit -o pipefail
export PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH
MASTER_IP=$(dig +short master.mesos || true)
MASTER_IP=${MASTER_IP:-192.168.24.20}
INTERFACE_IP=$(ip r g ${MASTER_IP} | \
awk -v master_ip=${MASTER_IP} '
BEGIN { ec = 1 }
{
  if($1 == master_ip) {
    print $7
    ec = 0
  } else if($1 == "local") {
    print $6
    ec = 0
  }
  if (ec == 0) exit;
}
END { exit ec }
')

在安装任何dcos文件之前,我在预期的主节点上测试了这个脚本,它运行得很好。 但是,在同一节点上安装dcos后,完全相同的脚本将返回以下错误:

错误:???前缀是预期的而不是“;;”。 awk:致命:无法打开文件`timed'进行阅读(没有这样的文件或目录)

为什么会发生这种情况?非常感谢...

1 个答案:

答案 0 :(得分:0)

这是因为dig正在查询远程服务器而没有找到“master.mesos”的条目。如果master.mesos == 192.168.24.20,删除两个MASTER_IP行并添加一个MASTER_IP = 192.168.24.20。