WSO2 ELB 2.1.1 不自动缩放 [英] WSO2 ELB 2.1.1 not auto scaling

查看:25
本文介绍了WSO2 ELB 2.1.1 不自动缩放的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


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


I started wso2 elb server and it is not auto scaling and showing the following error,

 [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 文件:

My loadbalancer.conf file:

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; 
        }		
     } 
   } 
} 

    
}

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

When I run the server, after sometimes it is giving the above error and it is not auto scaling. What is the error, is any other configuration required?

谢谢.

推荐答案

您不能仅通过更改 WSO2 ELB 中的配置来自动缩放.请参阅负载均衡器中的自动缩放.

You cannot auto scale just by changing the configurations in WSO2 ELB. See Auto-Scaling in Load Balancer .

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

You need to configure cartridges for your preferred IaaS. ELB supports Amazon EC2 and OpenStack. Cartidge is basically an image (for example an AMI in EC2) and ELB can spawn instances from the configured image. In the image, you need to configure how to connect to existing WSO2 product cluster and do other required configurations.

但是,正如我在其他堆栈溢出答案中提到的,不再推荐 WSO2 ELB 并且它已停止使用.

However as I mentioned in other Stack Overflow answer, WSO2 ELB is no longer recommended and it has been discontinued.

如果您需要带有 WSO2 产品的自动扩展平台,我们推荐 WSO2 Private PaaS.使用 WSO2 私有 PaaS,您将获得大部分常用的 WSO2 产品作为墨盒.

We recommend WSO2 Private PaaS if you need an auto-scaling platform with WSO2 products. With WSO2 Private PaaS, You will get most of the frequently used WSO2 products as cartridges.

这篇关于WSO2 ELB 2.1.1 不自动缩放的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆