简单分布式 Haskell / 云 Haskell 示例中的空节点列表
Empty node list in simple Distributed Haskell / Cloud Haskell example
我正在尝试关注 the simple example in the official docs,但是当我 运行:
./example slave localhost 8080 &
./example slave localhost 8081 &
./example slave localhost 8082 &
./example slave localhost 8083 &
./example master localhost 8084
我的预期:
Slaves: [nid://localhost:8083:0,nid://localhost:8082:0,nid://localhost:8081:0,nid://localhost:8080:0]
我看到的:
Slaves: []
我做错了什么?
事实证明,从站绑定到 IPv6 localhost 而不是 IPv4:
ͳ ss -nlp '( sport = 8080 or dport = 8080 )'
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 [::1]:8080 [::]:*
告诉他们绑定到 127.0.0.1
而不是 localhost
就可以了。
尝试提供您机器的实际 IP,而不是本地主机。它在我的机器上工作。
➜ ~ ./minimal-example slave 192.168.1.104 8082 &
[1] 710
➜ ~ ./minimal-example slave 192.168.1.104 8081 &
[2] 715
➜ ~ ./minimal-example slave 192.168.1.104 8083 &
[3] 720
➜ ~ ./minimal-example master 192.168.1.104 8084 &
[4] 725
➜ ~ Slaves: [nid://192.168.1.104:8081:0,nid://192.168.1.104:8082:0,nid://192.168.1.104:8083:0]
我正在尝试关注 the simple example in the official docs,但是当我 运行:
./example slave localhost 8080 &
./example slave localhost 8081 &
./example slave localhost 8082 &
./example slave localhost 8083 &
./example master localhost 8084
我的预期:
Slaves: [nid://localhost:8083:0,nid://localhost:8082:0,nid://localhost:8081:0,nid://localhost:8080:0]
我看到的:
Slaves: []
我做错了什么?
事实证明,从站绑定到 IPv6 localhost 而不是 IPv4:
ͳ ss -nlp '( sport = 8080 or dport = 8080 )'
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 [::1]:8080 [::]:*
告诉他们绑定到 127.0.0.1
而不是 localhost
就可以了。
尝试提供您机器的实际 IP,而不是本地主机。它在我的机器上工作。
➜ ~ ./minimal-example slave 192.168.1.104 8082 &
[1] 710
➜ ~ ./minimal-example slave 192.168.1.104 8081 &
[2] 715
➜ ~ ./minimal-example slave 192.168.1.104 8083 &
[3] 720
➜ ~ ./minimal-example master 192.168.1.104 8084 &
[4] 725
➜ ~ Slaves: [nid://192.168.1.104:8081:0,nid://192.168.1.104:8082:0,nid://192.168.1.104:8083:0]