bab*_*itt 5 amazon-ecs akka docker akka-cluster
在app.conf中配置bind-hostname和bind-port,如Akka FAQ所指定的,并启动集群,我收到一个错误:
[ERROR] [07/09/2015 19:54:24.132] [default-akka.remote.default-remote-dispatcher-20]
[akka.tcp://default@54.175.105.30:2552/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2Fdefault%4054.175.105.30%3A2552-757/endpointWriter]
dropping message [class akka.actor.ActorSelectionMessage]
for non-local recipient[Actor[akka.tcp://default@54.175.105.30:32810/]]
arriving at [akka.tcp://default@54.175.105.30:32810]
inbound addresses are [akka.tcp://default@54.175.105.30:2552]
Run Code Online (Sandbox Code Playgroud)
这似乎是说演员收到了一条发往端口32810(外部端口)的消息,但由于内部端口(2552)不匹配而丢弃了它.
该文件的相关部分是:
hostname = 54.175.105.30
port = 32810
bind-hostname = 172.17.0.44
bind-port = 2552
Run Code Online (Sandbox Code Playgroud)
我在2.4-M1,2.4-M2和2.4-SNAPSHOT上试过这个,都具有相同的效果.
有没有其他人遇到过这个?有什么建议?
编辑:此actor系统在Docker容器中的ECS中运行.docker container配置设置为从短暂范围转发到容器私有IP上的2552.ECS成功将hostname:port映射到bind-hosname:bind-port.该actor已成功运行并绑定到本地bind-hostname和bind-port,但正在丢弃消息并发出上述错误.
bind-*配置设置适用于在NAT后(或在docker容器中)启动Akka节点的情况.你已经配置地址转换从hostname:port到bind-hostname:bind-port?
在您的特定配置中,当您这样做时
ctx.actorSelection("akka.tcp://default@54.175.105.30:32810/user/actor") ! "Hi"
然后有人54.175.105.30应该正在侦听TCP端口32810和端口转发172.17.0.44:2552.actor系统应该在你提供的配置下运行172.17.0.44:2552.是这样的吗?
此外,您必须为NAT后面的每个节点配置此项,因为Actor系统之间的连接是对等的.
| 归档时间: |
|
| 查看次数: |
2941 次 |
| 最近记录: |