本地运行Aries2服务失败:报错Target is this node!
本地运行Aries 2服务时Hazelcast集群异常解决
报错信息(中文翻译)
严重: [localhost]:7750 [local] [4.2.2] 目标节点是当前节点! -> [localhost]:7750 java.lang.IllegalArgumentException: 目标节点是当前节点! -> [localhost]:7750 at com.hazelcast.spi.impl.operationservice.impl.OutboundResponseHandler.checkTarget(OutboundResponseHandler.java:226) 2022年9月26日 下午4:38:40 com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl 警告: [localhost]:7750 [local] [4.2.2] 发送操作错误时... 操作: com.hazelcast.internal.cluster.impl.operations.JoinMastershipClaimOp{serviceName='hz:core:clusterService', identityHash=753771767, partitionId=-1, replicaIndex=0, callId=1, invocationTime=1664224720443 (2022-09-26 16:38:40.443), waitTimeout=-1, callTimeout=60000, tenantControl=com.hazelcast.spi.impl.tenantcontrol.NoopTenantControl@0}, 错误: java.lang.IllegalArgumentException: 目标节点是当前节点! -> [localhost]:7750 java.lang.IllegalArgumentException: 目标节点是当前节点! -> [localhost]:7750, 响应: ErrorResponse{callId=1, urgent=true, cause=java.lang.IllegalArgumentException: 目标节点是当前节点! -> [localhost]:7750}
问题原因
这个错误是Hazelcast集群节点执行JoinMastershipClaimOp(集群主节点认领操作)时,检测到请求目标就是自身,触发内置合法性校验抛出的异常。常见触发场景:
- 静态集群成员配置中重复添加了当前节点地址
- 单节点运行时强制启用静态成员列表,而非自动发现模式
- 旧的Hazelcast集群元数据残留,导致节点误识别自身为外部节点
- 网络配置错误,比如
public-address重复指向自身
解决步骤
- 检查Hazelcast配置文件(
hazelcast.xml/hazelcast.yml),删除member-list中重复的本地节点地址;单节点场景建议移除静态成员配置,改用自动发现 - 清理Hazelcast本地数据目录(默认在系统临时目录下的
hazelcast-data文件夹),避免旧元数据干扰启动 - 核对JVM启动参数,确保
-Dhazelcast.local.publicAddress等自定义地址配置未重复指向自身 - 单节点运行时,可关闭multicast自动发现(若启用),并设置唯一的
cluster-name,避免节点重复注册
内容的提问来源于stack exchange,提问作者Nick Simpson
相关产品推荐
相关产品推荐

