0
votes

I'm trying to setting up ELB and ESB follow website : Setting Cluster WSO2

When ELB and two Node ESB (Manager and Worker is sample node)

  • Firewall is turnoff
  • I use mysql to store DB . All config in register.xml and datasource is true.
  • This is host file (In each WSO2 (ELB+2ESB)) :
192.168.85.134  server1.elb1.wso2.com
192.168.85.134  elb1.wso2.com
192.168.85.133  elb2.wso2.com
192.168.85.133  server2.elb2.wso2.com
192.168.85.132  mgt.esb.wso2.com
192.168.85.132  server3.mgt.esb.wso2.com
192.168.85.131  worker.esb.wso2.com
192.168.85.131  server4.worker.esb.wso2.com
  • ELB Config :
  - carbon.xml : <Offset>0</Offset>
  - loadbalancer.conf : 
    # ESB CONFIGURE
    esb {
        domains{
            wso2.esb.com {
            tenant_range *;
            group_mgt_port 4500;
            mgt {
                hosts server3.mgt.esb.wso2.com;
            }
            worker {
                hosts server4.worker.esb.wso2.com;
            }
        }
  • ESB Manager Config :
-  carbon.xml : <Offset>1</Offset>
  -  axis2.xml :
  <parameter name="domain">wso2.esb.com</parameter>
  <parameter name="localMemberHost">server3.mgt.esb.wso2.com</parameter>
  <parameter name="localMemberPort">4100</parameter>


  <property name="subDomain" value="mgt"/>

  <members>
       <member>
            <hostName>server1.elb1.wso2.com</hostName>
            <port>4500</port>
        </member>
  </members>

  <transportReceiver name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpListener">
        <parameter name="port" locked="false">8280</parameter>
        <parameter name="non-blocking" locked="false">true</parameter>
        <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
        <parameter name="WSDLEPRPrefix" locked="false">http://server4.worker.esb.wso2.com:8280</parameter>
        <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
        <!--<parameter name="priorityConfigFile" locked="false">location of priority configuration file</parameter>-->
    </transportReceiver>

     <transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
        <parameter name="port" locked="false">8243</parameter>
        <parameter name="non-blocking" locked="false">true</parameter>
        <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
        <parameter name="WSDLEPRPrefix" locked="false">https://server4.worker.esb.wso2.com:8243</parameter>
     <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
  • ESB Worker Node
-  carbon.xml : <Offset>2</Offset>
      -  catalina-server.xml :
      <Connector  protocol="org.apache.coyote.http11.Http11NioProtocol"
                    port="9763"
                    proxyPort="8280"
                    redirectPort="9443" 
                    bindOnInit="false"
                    maxHttpHeaderSize="8192"
                    acceptorThreadCount="2"
                    maxThreads="250"
                    minSpareThreads="50"
                    disableUploadTimeout="false"
                    connectionUploadTimeout="120000"
                    maxKeepAliveRequests="200"
                    acceptCount="200"
                    server="WSO2 Carbon Server"
                    compression="on"
                    compressionMinSize="2048"
                    noCompressionUserAgents="gozilla, traviata"
                    compressableMimeType="text/html,text/javascript,application/x-javascript,application/javascript,application/xml,text/css,application/xslt+xml,text/xsl,image/gif,image/jpg,image/jpeg" 
                    URIEncoding="UTF-8"/>

        <!--
        optional attributes:

        proxyPort="443"
        -->
        <Connector  protocol="org.apache.coyote.http11.Http11NioProtocol"
                    port="9443"
                    proxyPort="8280"
                    bindOnInit="false"
                    sslProtocol="TLS"
                    maxHttpHeaderSize="8192"
                    acceptorThreadCount="2"
                    maxThreads="250"
                    minSpareThreads="50"
                    disableUploadTimeout="false"
                    enableLookups="false"
                    connectionUploadTimeout="120000"
                    maxKeepAliveRequests="200"
                    acceptCount="200"
                    server="WSO2 Carbon Server"
                    clientAuth="false"
                    compression="on"
                    scheme="https"
                    secure="true"
                    SSLEnabled="true"
                    compressionMinSize="2048"
                    noCompressionUserAgents="gozilla, traviata"
                    compressableMimeType="text/html,text/javascript,application/x-javascript,application/javascript,application/xml,text/css,application/xslt+xml,text/xsl,image/gif,image/jpg,image/jpeg"
                    URIEncoding="UTF-8"/>

      -  axis2.xml :
            <property name="port.mapping.8280" value="9765"/>
            <property name="port.mapping.8243" value="9445"/>
            <property name="subDomain" value="worker"/>

            <members>
                <member>
                    <hostName>mgt.esb.wso2.com</hostName>
                    <port>4100</port>
                </member>
              <member>
                    <hostName>elb1.esb.wso2.com</hostName>
                    <port>4500</port>
                </member>
            </members>

            <parameter name="localMemberHost">worker.esb.wso2.com</parameter>

            <parameter name="localMemberPort">4200</parameter>

            <parameter name="domain">wso2.esb.com</parameter>

Cluster joined OK . But when I try to call http://server4.worker.esb.wso2.com:8280/services/Versionand
when I call http://server4.worker.esb.wso2.com:8282/services/Version, of course, I don't understand why ELB cannot direct ESB worker via proxyport 8280 or 8243 :/ (or 80 / 443) What's wrong ?

1

1 Answers

-1
votes

The WSO2 Elastic Load Balancer has been discontinued. You can download NGinx - the load balancer by NGinx - for which we provide support.

In addition to that for more information on Creating WSO2 ESB Cluster with Nginx LB you can visit this link