WSO2 Identity Server节点不使用ELB加入群集

WSO2 Identity Server节点不使用ELB加入群集,wso2,wso2esb,wso2carbon,wso2is,Wso2,Wso2esb,Wso2carbon,Wso2is,目前,我正在一个项目中工作,在集群中实现ELB作为负载平衡器和Identity Server作为身份和PDP提供者时遇到了一个问题 如果您能在以下实施方面给予我帮助,我将不胜感激: 场景 两个ELB处于故障转移模式,具有虚拟IP virtual和KeepAlive,每个节点位于独立的计算机中 一个ESB集群ESB,具有一个管理器节点和两个工作者节点;这些节点位于与ELB节点分离的其他机器中 一种是具有两个节点的集群;这些机器位于与ELB和ESB机器分离的不同机器中 我已打开LDAP作为用户存储

目前,我正在一个项目中工作,在集群中实现ELB作为负载平衡器和Identity Server作为身份和PDP提供者时遇到了一个问题

如果您能在以下实施方面给予我帮助,我将不胜感激:

场景

  • 两个ELB处于故障转移模式,具有虚拟IP virtual和KeepAlive,每个节点位于独立的计算机中

  • 一个ESB集群ESB,具有一个管理器节点和两个工作者节点;这些节点位于与ELB节点分离的其他机器中

  • 一种是具有两个节点的集群;这些机器位于与ELB和ESB机器分离的不同机器中
  • 我已打开LDAP作为用户存储
  • SVN作为使用Hazelcast进行同步的工件存储库
  • 所有节点都有一个共享的UM DB和一个共享注册表
  • 我已经将内核4.2.0的所有可用补丁应用到ELB、IS和ESB的节点(包括补丁0010)
ELB节点启动正确,加入集群的ESB节点也一样,没有任何问题;我可以在ELB和ESB wso2carbon.log中验证这一点;当我从ELB向ESB工作节点发送请求时,我还验证了负载平衡

但是,当我启动第一个IS节点时,我在IS的wso2carbon.log中得到以下消息

TID:[0][IS][2015-05-18 20:09:30178]信息{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}-集群域:example.wso2is.domain{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}

TID:[0][IS][2015-05-18 20:09:30179]INFO{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}-使用基于wka的会员管理方案{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}

TID:[0][IS][2015-05-18 20:09:30180]INFO{org.wso2.carbon.core.clustering.hazelcast.util.MemberUtils}-添加成员:主机:IP_Virtual_ELB,远程主机:null,端口:4050,HTTP:-1,HTTPS:-1,域:null,子域:null,活动:true{org.wso2.carbon.core.clustering.hazelcast.util.MemberUtils}

TID:[0][IS][2015-05-18 20:09:35468]信息{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}

TID:[0][IS][2015-05-18 20:09:35546]INFO{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}-本地成员:[4c91357f-b563-49a2-b71b-887b3109642a]-主机:IP_Nodo1_标识,远程主机:null,端口:4301,HTTP:9763,HTTPS:9443,域:example.wso2is.Domain,子域:mgt,活动:true{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}

TID:[0][IS][2015-05-18 20:09:35558]INFO{org.wso2.carbon.core.clustering.hazelcast.util.MemberUtils}-添加成员:主机:IP_Nodo1_标识,远程主机:null,端口:4301,HTTP:9763,HTTPS:9443,域:interacciones.wso2is.Domain,子域:mgt,活动:true{org.wso2.carbon.core.clustering.hazelcast.util.MemberUtils}

TID:[0][IS][2015-05-18 20:09:35650]信息{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}-集群初始化已完成{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}

TID:[0][IS][2015-05-18 20:09:35652]信息{org.apache.tomcat.util.net.NioSelectorPool}-2015年5月18日8:09:35 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFORMACIÓN:为servlet写/读使用共享选择器 {org.apache.tomcat.util.net.NioSelectorPool}

TID:[0][IS][2015-05-18 20:09:35653]INFO{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}-选举该成员[4c91357f-b563-49a2-b71b-887b3109642a]为集群[example.wso2is.domain]{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}的协调人

ELB的wso2carbon.log没有任何消息指向刚刚启动的IS节点

ELB的loadbalancer.conf中定义的服务如下:

esb {     
     domains {    
               example.wso2esb.domain { 
               tenant_range *; 
               group_mgt_port 4000; 
            worker { 
                    hosts wso2esb.example.com; 
            } 
         } 
       } 
    } 

identity {
    domains { 
         example.wso2is.domain { 
            tenant_range *; 
            group_mgt_port 4050; 
            mgt{ 
                hosts wso2is.example.com; 
            } 
        } 
    } 
}
如果我尝试使用ELB的实际IP从客户端PC访问IS控制台,我会在ELB日志中收到以下消息:

TID:[0][ELB][2015-05-19 13:13:31705]错误{org.wso2.carbon.lb.endpoint.endpoint.tenatawareloadbalanceendpoint}-没有可用的应用程序成员{org.wso2.carbon.lb.endpoint.endpoint.tenatawareloadbalanceendpoint}

/etc/hosts的内容是:

客户端:

ELB_虚拟IP wso2is.example.com

ELB_虚拟IP wso2esb.example.com

ESB_Manager_IP mgt.wso2esb.example.com

ELB节点:

ELB_虚拟IP wso2is.example.com

ELB_虚拟IP wso2esb.example.com

ESB_Manager_IP mgt.wso2esb.example.com

是节点:

ELB_虚拟IP wso2is.example.com

ESB节点:

ELB_虚拟IP wso2is.example.com

ELB_虚拟IP wso2esb.example.com

ESB_Manager_IP mgt.wso2esb.example.com

IS节点的axis2.xml(集群部分)

true
wka
示例.wso2is.domain
45564
100
60
是节点吗
4301
ELB_虚拟IP
4050
IS节点的carbon.xml

<HostName>wso2is.example.com</HostName>

<MgtHostName>wso2is.example.com</MgtHostName>
wso2is.example.com
wso2is.example.com

在将内核修补程序应用到ELB后,这似乎是Hazelcast问题。在给定配置中看不到任何配置问题。请使用Wso2检查与Hazelcast相关的任何修复程序,同时可以检查删除内核修补程序0009和修补程序0010


谢谢。

最近我发现,如果ELB仅在patch00009之前进行了修补,则它可以识别IS节点,但不识别ESB节点。此外,如果ELB在patch0010之前进行了修补,则它可以识别ESB节点,但不识别IS节点。
<HostName>wso2is.example.com</HostName>

<MgtHostName>wso2is.example.com</MgtHostName>