背景
我正在尝试在几个长生不老药节点之间设置集群。我的理解是我可以通过修改release vm.args来设置它。我正在使用 Distillery 构建版本,并遵循此处的文档:https ://hexdocs.pm/distillery/config/vm.args.html 。
我的rel/vm.args
文件如下:
-name <%= release_name %>@${HOSTNAME}
-setcookie <%= release.profile.cookie %>
-smp auto
-kernel inet_dist_listen_min 9100 inet_dist_listen_max 9155
-kernel sync_nodes_mandatory '[${SYNC_NODES_MANDATORY}]'
我有一个运行 Ubuntu 18.04 的构建服务器和两个运行 Ubuntu 18.04 的网络服务器。我正在构建服务器上构建版本,将存档复制到网络服务器,然后取消存档并从那里开始。
问题
当我构建我的版本并尝试在网络服务器上运行它时,我在启动时收到以下错误:
Failed setting -name! The hostname in 'myapp@' is not fully qualified
上面链接的文档指出:
如果您在开始发布之前在系统环境中导出 REPLACE_OS_VARS=true,则 ${HOSTNAME} 和 ${NODE_COOKIE} 部分将仅在运行时动态替换,因此如果要使用此方法,请确保这样做。
基于此,我添加REPLACE_OS_VARS=true
到 webserver 环境中,但似乎没有任何影响。出于绝望,我还将它添加到构建服务器上的环境中,但得到了相同的结果。
除了设置此环境变量以使动态 vm.args 工作之外,还有什么需要做的,或者我只是在这里遗漏了什么?