加入羣集當前我正在一個項目中工作,並且在羣集中實施ELB作爲負載均衡器和Identity Server作爲身份和PDP提供程序時遇到問題。WSO2 Identity Server節點不使用ELB
我將不勝感激這麼多的任何幫助,您可以給我用下面的實現:
場景
兩個ELB在故障轉移模式與虛擬IP虛擬和保持活動,分離機器中的每個節點
一個ESB集羣ESB具有一個管理器節點和兩個工人節點;這些節點位於與ELB節點分離的其他機器中。
- 一個IS節點有兩個節點;這些是在與ELB和ESB機器分開的不同機器上。
- 我打開LDAP作爲用戶存儲
- SVN爲使用Hazelcast
- 所有節點共享的UM DB進行同步的假象庫和共享註冊表
- 我已經應用了所有的補丁適用於內核4.2 .0到ELB,IS和ESB的節點(包括包含0010的節點)
ELB節點正確啓動,對於加入羣集的ESB節點沒有任何問題,它是相同的;我可以在ELB和ESB wso2carbon.log中驗證這一點;當我從ELB向ESB工作者節點發送請求時,我也驗證了負載平衡。
但是,當我開始第一IS節點I得到下列消息在IS
TID的wso2carbon.log:[0] [IS] [2015年5月18日20:09:30178] INFO { 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:30,179]信息{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent} - 使用基於wka的成員資格管理方案{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}
TID:[0] [IS] [2015-05-18 20:09:30,180] 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:35,468]信息{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent} - Hazelcast在5286ms初始化{org.wso2.carbon.core .clustering.hazelcast.HazelcastClusteringAgent}
TID:[0] [IS] [2015-05-18 20:09:35,546] INFO {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent} - 本地成員:[4c91357f-b563-49a2-b71b-887b3109642a] - 主機:IP_Nodo1_Identity,遠程主機:null,端口:4301,HTTP:9763,HTTPS:9443,域:example.wso2is.domain,Sub-domain:mgt,Active:true {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}
TID: [0] [IS] [2015-05-18 20:09:35,558]信息{org.wso2.carbon.core.clustering.hazelcast.util。MemberUtils} - 添加成員:主機:IP_Nodo1_Identity,遠程主機: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:35,650] INFO {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent } - 羣集初始化已完成{org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent}
TID:[0] [IS] [2015-05-18 20:09:35,652] INFO {org.apache。 tomcat.util.net.NioSelectorPool} - 2015年5月18日下午8時09分35秒org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFORMACIÓN:使用servlet的共享選擇器寫入/讀取 {org .apache.tomcat.util.net.NioSelectorPool}
工商註冊信息:[0] [IS] [2015-05-18 20:09:35,653]信息{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的cirtual IP從客戶端PC訪問IS控制檯,我得到以下的消息ELB日誌:
TID:[0] [ELB] [2015-05-19 13:13:31,705]錯誤{org.wso2.carbon.lb.endpoint.endpoint.TenantAwareLoadBalanceEndpoint} - 沒有應用程序成員可用{ org.wso2.carbon.lb.endpoint.endpoint.TenantAwareLoadBalanceEndpoint}
th的/ etc /主機的E含量爲:
客戶:
ELB_Virtual_IP wso2is.example.com
ELB_Virtual_IP wso2esb.example.com
ESB_Manager_IP mgt.wso2esb.example。 com
ELB節點:
ELB_Virtual_IP wso2is.example.com
ELB_Virtual_IP wso2esb.example.com
ESB_Manager_IP mgt.wso2esb.example.com
IS節點:
ELB_Virtual_IP wso2is .example.com
ESB節點:
ELB_Virtual_IP wso2is.example。COM
ELB_Virtual_IP wso2esb.example.com
ESB_Manager_IP mgt.wso2esb.example.com IS節點的
axis2.xml(聚類部)是
<parameter name="AvoidInitiation">true</parameter>
<parameter name="membershipScheme">wka</parameter>
<parameter name="domain">example.wso2is.domain</parameter>
<parameter name="mcastPort">45564</parameter>
<parameter name="mcastTTL">100</parameter>
<parameter name="mcastTimeout">60</parameter>
<parameter name="localMemberHost">IS_NODE_IP</parameter>
<parameter name="localMemberPort">4301</parameter>
<parameter name="properties">
<property name="backendServerURL" value="https://${hostName}:${httpsPort}/services/"/>
<property name="mgtConsoleURL" value="https://${hostName}:${httpsPort}/"/>
<property name="subDomain" value="mgt"/>
</parameter>
<members>
<member>
<hostName>ELB_Virtual_IP</hostName>
<port>4050</port>
</member>
</members>
<groupManagement enable="false">
<applicationDomain name="interacciones.wso2is.domain"
description="IS group"
agent="org.wso2.carbon.core.clustering.hazelcast.HazelcastGroupManagementAgent"
subDomain="mgt"
port="4301"/>
</groupManagement>
</clustering>
carbon.xml節點
<HostName>wso2is.example.com</HostName>
<MgtHostName>wso2is.example.com</MgtHostName>
最近我發現ELB識別IS節點,如果它修補到patch00009但不識別ESB節點。另外,如果ELB被修補到patch0010,那麼它會識別ESB節點,但不識別IS節點。在我看來,應用碳內核補丁與實施Hazelcast庫處理所有與節點同步相關的內容時存在不一致。 –