我正在尝试使用高级说明安装mesosphere 1.10,并根据示例创建了以下ip检测脚本:
# !/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文件之前,我在预期的主节点上测试了这个脚本,它运行得非常好。但是,在同一节点上安装DCO后,完全相同的脚本将返回以下错误:
错误:???应为前缀,而不是“;”。awk:fatal:无法打开“timed”文件进行读取(没有此类文件或目录)
你知道为什么会这样吗?非常感谢。。。
1条答案
按热度按时间jm81lzqq1#
这是因为dig正在查询远程服务器,没有找到“master.mesos”的条目。如果master.mesos==192.168.24.20,则删除两条master\u ip线并添加一条master\u ip=192.168.24.20。