erlang - 是否可以更改正在运行的 Elixir 节点的名称

标签 erlang elixir distributed

我想动态更改梁实例的节点名称。

用例在 VM 集群中我希望启动过程查找 ip 信息,然后从中选择一个名称。

node()
# => :nonode@nohost

# Lookup ip and change name

node()
# => :myapp@x.x.x.x

最佳答案

是的,您可以使用 net_kernel:start/1在 Erlang 或 Node.start/{1,2,3}在 Elixir 中:

1> node().
nonode@nohost
2> net_kernel:start(['myapp@1.2.3.4']).
{ok,<0.60.0>}
(myapp@1.2.3.4)3> node().
'myapp@1.2.3.4'
iex(1)> Node.self
:nonode@nohost
iex(2)> Node.start :"myapp@1.2.3.4"
{:ok, #PID<0.83.0>}
iex(myapp@1.2.3.4)3> Node.self
:"myapp@1.2.3.4"

关于erlang - 是否可以更改正在运行的 Elixir 节点的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40174519/

相关文章:

Erlang - ETS 表之间的比较

postgresql - Ecto embeds_many 关联中的查询

java - 具有分布式数据库的Java Web应用程序

jenkins - 将构建的特定部分委托(delegate)给从属

python - Dask Distributed - 如何为每个工作人员运行一个任务,使该任务在工作人员可用的所有内核上运行?

c - 用C搭建一个框架,让它像erlang一样有 future

erlang - 替换嵌套映射中的键

Erlang脚本语言解释器

erlang - 如何使用 gen_tcp 在 Elixir 中的事件套接字上检测 TCP 超时?

arrays - 如何通过elixir中的索引获取列表元素