0
我开始WSO2 ELB服务器,它是不会自动缩放,并显示以下错误,WSO2 ELB 2.1.1不自动缩放
[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 \t \t 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;
\t \t
}
esb {
domains{
wso2.esb.domain {
tenant_range *;
group_mgt_port 4500;
\t \t min_app_instances 1;
alarming_upper_rate 0.1;
alarming_lower_rate 0.9;
\t \t \t max_requests_per_second 1;
\t \t mgt {
hosts mgt.esb.wso2.com;
}
worker {
hosts esb.wso2.com;
}
worker {
hosts esb1.wso2.com;
} \t \t
}
}
}
}
谢谢。
是否喜欢使用ELB我应该使用带有WSO2 ESB的PaaS?我不能直接用elb来使用esb吗? –
您可以使用ELB对ESB群集进行负载平衡。但是如果您需要自动缩放,请考虑使用WSO2 Private PaaS。即使对于负载平衡,我们也建议使用另一个像Nginx的LB,因为我们正在停止ELB产品。 –