0

我正在尝试将 mongooseim 的节点名称更改为我的本地 ip,例如 10.0.0.21。我更改了 MongooseIM/rel/vars.config 中的配置。>

{node_name,"mongooseim@10.0.0.21"}

有什么我需要改变的吗?

更改节点名称时出现以下错误

=INFO REPORT==== 11-Mar-2016::17:11:05 === 无法设置短节点名称!请检查您的配置 escript:异常错误:右侧值不匹配 {error, {{shutdown, {failed_to_start_child,net_kernel, {'EXIT',nodistribution}}}, {child,undefined,net_sup_dynamic, {erl_distribution,start_link, [['mongooseim_maint_6589@10.0.XXX.XXX', shortnames]]}, 永久,1000,supervisor, [erl_distribution]}}}

4

1 回答 1

1

根据您所写的内容,我假设您在构建时更改节点名称并依赖构建机制来生成正确的配置文件。还行吧。

在这种情况下,您还必须修改rel/files/vm.args- 找到该行:

-sname {{node_name}}

并将其更改为:

-name {{node_name}}

现在解释。-name用于将 Erlang 节点作为分布式节点运行。这需要设置 DNS 服务器。-sname也启用分布式模式,但只使用/etc/hosts条目就可以了 - 但是节点名称不能包含点:host@localdomain很好,但host@my.fictional.domain不是。后者是您的情况,您使用数字而不是单词的细微差别。

请注意,使用的节点-name不能使用分布式 Erlang 通信与使用-sname.


对于生产多节点集群,您可能会考虑生成一次服务器版本,获取生成的配置文件,根据您的需要调整它们并根据预期的节点数量进行复制。然后,每次部署新节点时,您都​​使用相同的生成版本(这样可以节省构建时间),但添加为相关节点定制的配置文件。

于 2016-03-12T10:20:24.300 回答