receive DeadLetter: DeadLetter
worker连接服务器部署的power job,本地报错 2021-08-30 14:12:36.312 [oms-akka.actor.default-dispatcher-241] WARN tech.powerjob.worker.actors.TroubleshootingActor - [TroubleshootingActor] receive DeadLetter: DeadLetter(WorkerHeartbeat(workerAddress=192.168.182.1:27779, appName=risk-control-biz-pzk, appId=14, heartbeatTime=1630303936296, containerInfos=[], version=4.0.1, protocol=AKKA, tag=null, client=Atlantis, extra=null, systemMetrics=SystemMetrics(cpuProcessors=8, cpuLoad=-1.0, jvmUsedMemory=1.0889, jvmMaxMemory=3.5366, jvmMemoryUsage=0.3079, diskUsed=169.8347, diskTotal=1862.8164, diskUsage=0.0912, extra=null, score=5)),Actor[akka://oms/deadLetters],Actor[akka://oms/deadLetters]) 2021-08-30 14:12:36.312 [oms-akka.actor.default-dispatcher-241] WARN tech.powerjob.worker.actors.TroubleshootingActor - [TroubleshootingActor] receive DeadLetter: DeadLetter(WorkerHeartbeat(workerAddress=192.168.182.1:27779, appName=risk-control-biz-pzk, appId=14, heartbeatTime=1630303951297, containerInfos=[], version=4.0.1, protocol=AKKA, tag=null, client=Atlantis, extra=null, systemMetrics=SystemMetrics(cpuProcessors=8, cpuLoad=-1.0, jvmUsedMemory=1.0979, jvmMaxMemory=3.5366, jvmMemoryUsage=0.3104, diskUsed=169.8515, diskTotal=1862.8164, diskUsage=0.0912, extra=null, score=5)),Actor[akka://oms/deadLetters],Actor[akka://oms/deadLetters]) 2021-08-30 14:12:36.314 [oms-akka.actor.default-dispatcher-241] WARN akka.stream.Materializer - [outbound connection to [akka://[email protected]:10086], message stream] Upstream failed, cause: StreamTcpException: The connection has been aborted 2021-08-30 14:12:36.315 [oms-akka.actor.default-dispatcher-241] WARN akka.remote.artery.Association - Outbound message stream to [akka://[email protected]:10086] failed. Restarting it. akka.stream.StreamTcpException: The connection has been aborted 2021-08-30 14:13:06.324 [oms-akka.actor.default-dispatcher-240] WARN tech.powerjob.worker.actors.TroubleshootingActor - [TroubleshootingActor] receive DeadLetter: DeadLetter(WorkerHeartbeat(workerAddress=192.168.182.1:27779, appName=risk-control-biz-pzk, appId=14, heartbeatTime=1630303966298, containerInfos=[], version=4.0.1, protocol=AKKA, tag=null, client=Atlantis, extra=null, systemMetrics=SystemMetrics(cpuProcessors=8, cpuLoad=-1.0, jvmUsedMemory=1.1044, jvmMaxMemory=3.5366, jvmMemoryUsage=0.3123, diskUsed=169.8655, diskTotal=1862.8164, diskUsage=0.0912, extra=null, score=5)),Actor[akka://oms/deadLetters],Actor[akka://oms/deadLetters]) 2021-08-30 14:13:06.324 [oms-akka.actor.default-dispatcher-244] WARN tech.powerjob.worker.actors.TroubleshootingActor - [TroubleshootingActor] receive DeadLetter: DeadLetter(WorkerHeartbeat(workerAddress=192.168.182.1:27779, appName=risk-control-biz-pzk, appId=14, heartbeatTime=1630303981298, containerInfos=[], version=4.0.1, protocol=AKKA, tag=null, client=Atlantis, extra=null, systemMetrics=SystemMetrics(cpuProcessors=8, cpuLoad=-1.0, jvmUsedMemory=1.1114, jvmMaxMemory=3.5366, jvmMemoryUsage=0.3143, diskUsed=169.8823, diskTotal=1862.8164, diskUsage=0.0912, extra=null, score=5)),Actor[akka://oms/deadLetters],Actor[akka://oms/deadLetters]) 2021-08-30 14:13:06.327 [oms-akka.actor.default-dispatcher-244] WARN akka.stream.Materializer - [outbound connection to [akka://[email protected]:10086], message stream] Upstream failed, cause: StreamTcpException: The connection has been aborted 2021-08-30 14:13:06.327 [oms-akka.actor.default-dispatcher-244] WARN akka.remote.artery.Association - Outbound message stream to [akka://[email protected]:10086] failed. Restarting it. akka.stream.StreamTcpException: The connection has been aborted 2021-08-30 14:13:36.331 [oms-akka.actor.default-dispatcher-240] WARN tech.powerjob.worker.actors.TroubleshootingActor - [TroubleshootingActor] receive DeadLetter: DeadLetter(WorkerHeartbeat(workerAddress=192.168.182.1:27779, appName=risk-control-biz-pzk, appId=14, heartbeatTime=1630303996311, containerInfos=[], version=4.0.1, protocol=AKKA, tag=null, client=Atlantis, extra=null, systemMetrics=SystemMetrics(cpuProcessors=8, cpuLoad=-1.0, jvmUsedMemory=1.1212, jvmMaxMemory=3.5366, jvmMemoryUsage=0.317, diskUsed=169.8985, diskTotal=1862.8164, diskUsage=0.0912, extra=null, score=5)),Actor[akka://oms/deadLetters],Actor[akka://oms/deadLetters]) 2021-08-30 14:13:36.331 [oms-akka.actor.default-dispatcher-248] WARN tech.powerjob.worker.actors.TroubleshootingActor - [TroubleshootingActor] receive DeadLetter: DeadLetter(WorkerHeartbeat(workerAddress=192.168.182.1:27779, appName=risk-control-biz-pzk, appId=14, heartbeatTime=1630304011299, containerInfos=[], version=4.0.1, protocol=AKKA, tag=null, client=Atlantis, extra=null, systemMetrics=SystemMetrics(cpuProcessors=8, cpuLoad=-1.0, jvmUsedMemory=1.128, jvmMaxMemory=3.5366, jvmMemoryUsage=0.319, diskUsed=169.9151, diskTotal=1862.8164, diskUsage=0.0912, extra=null, score=5)),Actor[akka://oms/deadLetters],Actor[akka://oms/deadLetters]) 2021-08-30 14:13:36.335 [oms-akka.actor.default-dispatcher-249] WARN akka.stream.Materializer - [outbound connection to [akka://[email protected]:10086], message stream] Upstream failed, cause: StreamTcpException: The connection has been aborted 2021-08-30 14:13:36.336 [oms-akka.actor.default-dispatcher-249] WARN akka.remote.artery.Association - Outbound message stream to [akka://[email protected]:10086] failed. Restarting it. akka.stream.StreamTcpException: The connection has been aborted
#227
我也遇到这个问题了,原因在于部署到容器以后,获取的是分配给容器的ip,而不是服务器的ip,你可以看看docker配置的ip段是不是192.168.182.*
流程上
1、服务器启动,会把获取到的本机ip保存到server_info表中,你这个环境下服务器ip假如是10.1.50.101,容器被分配了一个ip是192.168.182.1 2、客户端启动,根据配置的server-address调用接口获取akka地址
客户端代码
private static final String DISCOVERY_URL = "http://%s/server/acquire?appId=%d¤tServer=%s&protocol=AKKA";
String url = String.format(DISCOVERY_URL, httpServerAddress, appId, currentServerAddress);
服务器代码
@GetMapping("/acquire")
public ResultDTO<String> acquireServer(Long appId, String protocol, String currentServer) {
return ResultDTO.success(serverElectionService.elect(appId, protocol, currentServer));
}
3、客户端akka服务启动
问题来了,第一步保存下来的ip是192.168.182.1,第二步获取到的akka地址就会是192.168.182.1:10086,而这个ip只能同环境下的容器可以访问,所以无法建立连接,所以会一直报连接错误
我试过#227增加jvmoptions启动直接报错
比较好奇作者开发环境是什么样的,可能是ide启动服务器ide启动客户端?如果是docker启动服务器,ide启动客户端目前看是无解的
这里有一个相关的issue