WSO2 ELB 2.1.1不自动缩放

时间:2015-07-01 13:36:26

标签: wso2 wso2esb


我启动了wso2 elb服务器,它没有自动缩放并显示以下错误,

 [2015-07-01 18:55:35,653]  INFO - CarbonUIServiceComponent Mgt Console URL  : ht
tps://10.167.46.154:9443/carbon/
[2015-07-01 18:57:35,259] DEBUG - ServiceRequestsInFlightAutoscaler This is the
primary load balancer, starting to perform sanity checks.
[2015-07-01 18:57:35,260] DEBUG - ServiceRequestsInFlightAutoscaler Values in Ap
p domain context: 0 - 0 - Ctxt: 996465500
[2015-07-01 18:57:35,262] DEBUG - ServiceRequestsInFlightAutoscaler Values in Ap
p domain context: 0 - 0 - Ctxt: 3907204
[2015-07-01 18:57:35,268] DEBUG - ServiceRequestsInFlightAutoscaler Load Balance
r members of domain: wso2.carbon.lb.domain and sub domain: null running instance
s (including this): 2 - pending instances: 0
[2015-07-01 18:57:35,268] DEBUG - ServiceRequestsInFlightAutoscaler Load balance
r sanity check has started.
[2015-07-01 18:57:35,269] DEBUG - ServiceRequestsInFlightAutoscaler Sanity check
 has started for: Domain: wso2.esb.domain - Sub Domain: worker
[2015-07-01 18:57:35,270] DEBUG - ServiceRequestsInFlightAutoscaler Sanity check
 has started for: Domain: wso2.esb.domain - Sub Domain: mgt
[2015-07-01 18:57:35,287] ERROR - ClientUtils Address information does not exist
 in the Endpoint Reference (EPR).The system cannot infer the transport mechanism
.
[2015-07-01 18:57:35,287] ERROR - ClientUtils Address information does not exist
 in the Endpoint Reference (EPR).The system cannot infer the transport mechanism
.
[2015-07-01 18:57:35,289] ERROR - AutoscaleUtil Failed to start an instance of D
omain: wso2.esb.domain - Sub Domain: mgt.
org.apache.axis2.AxisFault: Address information does not exist in the Endpoint R
eference (EPR).The system cannot infer the transport mechanism.
        at org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtil
s.java:73)
        at org.apache.axis2.client.OperationClient.prepareMessageContext(Operati
onClient.java:288)
        at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(Out
InAxisOperation.java:176)
        at org.apache.axis2.client.OperationClient.execute(OperationClient.java:
149)
        at org.wso2.carbon.stratos.cloud.controller.stub.CloudControllerServiceS
tub.startInstance(CloudControllerServiceStub.java:572)
        at org.wso2.carbon.mediator.autoscale.lbautoscale.clients.CloudControlle
rStubClient.startInstance(CloudControllerStubClient.java:58)
        at org.wso2.carbon.mediator.autoscale.lbautoscale.util.AutoscaleUtil.run
Instances(AutoscaleUtil.java:319)
        at org.wso2.carbon.mediator.autoscale.lbautoscale.callables.AppNodeSanit
yCheckCallable.call(AppNodeSanityCheckCallable.java:81)
        at org.wso2.carbon.mediator.autoscale.lbautoscale.callables.AppNodeSanit
yCheckCallable.call(AppNodeSanityCheckCallable.java:31)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:603)
        at java.lang.Thread.run(Thread.java:722)
[2015-07-01 18:57:35,289] ERROR - AutoscaleUtil Failed to start an instance of D
omain: wso2.esb.domain - Sub Domain: worker.
org.apache.axis2.AxisFault: Address information does not exist in the Endpoint R
eference (EPR).The system cannot infer the transport mechanism.
        at org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtil
s.java:73)
        at org.apache.axis2.client.OperationClient.prepareMessageContext(Operati
onClient.java:288)
        at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(Out
InAxisOperation.java:176)
        at org.apache.axis2.client.OperationClient.execute(OperationClient.java:
149)
        at org.wso2.carbon.stratos.cloud.controller.stub.CloudControllerServiceS
tub.startInstance(CloudControllerServiceStub.java:572)
        at org.wso2.carbon.mediator.autoscale.lbautoscale.clients.CloudControlle
rStubClient.startInstance(CloudControllerStubClient.java:58)
        at org.wso2.carbon.mediator.autoscale.lbautoscale.util.AutoscaleUtil.run
Instances(AutoscaleUtil.java:319)
        at org.wso2.carbon.mediator.autoscale.lbautoscale.callables.AppNodeSanit
yCheckCallable.call(AppNodeSanityCheckCallable.java:81)
        at org.wso2.carbon.mediator.autoscale.lbautoscale.callables.AppNodeSanit
yCheckCallable.call(AppNodeSanityCheckCallable.java:31)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:603)
        at java.lang.Thread.run(Thread.java:722)
[2015-07-01 18:57:35,296] DEBUG - ServiceRequestsInFlightAutoscaler Autoscaling
analysis is starting to run for domain: wso2.esb.domain and sub domain: worker
[2015-07-01 18:57:35,298] DEBUG - ServiceRequestsInFlightAutoscaler Autoscaling
analysis is starting to run for domain: wso2.esb.domain and sub domain: mgt
[2015-07-01 18:57:35,298] DEBUG - ServiceRequestsInFlightAutoscaler Task finishe
d a cycle.

我的loadbalancer.conf文件:

loadbalancer {
    # minimum number of load balancer instances 
    instances           1;
    # fully qualified class name of load balancer enpoint which is extended from org.apache.synapse.endpoints.LoadbalanceEndpoint
     lb_endpoint_class org.wso2.carbon.lb.endpoint.endpoint.TenantAwareLoadBalanceEndpoint;
    # whether autoscaling should be enabled or not.
    enable_autoscaler   true;
    # autoscaling decision making task
    autoscaler_task  org.wso2.carbon.mediator.autoscale.lbautoscale.task.ServiceRequestsInFlightAutoscaler;
    # whether to use embedded autoscaler or not. By default, we use embedded autoscaler. 
    use_embedded_autoscaler false;
    #please use this whenever url-mapping is used through LB.
    #size_of_cache		100;
    # End point reference of the Autoscaler Service. This should be present, if you disabled embedded autoscaling.
    #autoscaler_service_epr  https://host_address:https_port/services/AutoscalerService/; 
    # interval between two task executions in milliseconds 
    autoscaler_task_interval 60000;
    # after an instance booted up, task will wait maximum till this much of time and let the server started up
    server_startup_delay 6000; #default will be 60000ms
    # session time out
    session_timeout 900000; 
    # enable fail over 
    fail_over true;
    #mb_server_url localhost:5672;
    # whether domain mapping should be enabled or not.
    enable_domain_mapping   false;
}

# services' details which are fronted by this WSO2 Elastic Load Balancer
services {
    # default parameter values to be used in all services
    defaults {
        # minimum number of service instances required. WSO2 ELB will make sure that this much of instances
        # are maintained in the system all the time, of course only when autoscaling is enabled.
        min_app_instances       1;
        # maximum number of service instances that will be load balanced by this ELB.
        max_app_instances       5;
        # you need to calibrate autoscaling parameters before start using. Please go through following blog post
        # http://nirmalfdo.blogspot.com/2013/01/scale-up-early-scale-down-slowly.html
        max_requests_per_second   1;
        alarming_upper_rate 0.1;
        alarming_lower_rate 0.9;
        scale_down_factor 0.25;
        rounds_to_average       1;
        message_expiry_time     60000;
		
    }

    

    esb { 
  domains{ 
     wso2.esb.domain { 
        tenant_range *; 
        group_mgt_port 4500; 
		min_app_instances 1;
            alarming_upper_rate 0.1;       
            alarming_lower_rate 0.9;
			max_requests_per_second 1;
		mgt {
                hosts mgt.esb.wso2.com;
        }
        worker { 
                hosts esb.wso2.com; 
        }
worker { 
                hosts esb1.wso2.com; 
        }		
     } 
   } 
} 

    
}
当我运行服务器时,有时它会给出上述错误并且它不是自动缩放。 什么是错误,是否需要任何其他配置?

感谢。

1 个答案:

答案 0 :(得分:0)

仅通过更改WSO2 ELB中的配置无法自动缩放。见Auto-Scaling in Load Balancer

您需要为首选IaaS配置磁带。 ELB支持Amazon EC2和OpenStack。 Cartidge基本上是一个图像(例如EC2中的AMI),ELB可以从配置的图像中生成实例。在映像中,您需要配置如何连接到现有的WSO2产品集群并执行其他所需的配置。

然而正如我在其他Stack Overflow answer中提到的,不再推荐使用WSO2 ELB,它已经停止使用。

如果您需要具有WSO2产品的自动扩展平台,我们建议WSO2 Private PaaS。使用WSO2 Private PaaS,您将获得大多数常用的WSO2产品作为墨盒。