|
Home > Archive > WebSphere Application Server > March 2007 > webserver and plug-in issue
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
webserver and plug-in issue
|
|
|
| Hi,
I have 2 servers Server A ( Deployment Manager, IIS Server, App Server) and Server B ( IIS and App Server). Both app server are federated into Deployment manager profile. I have configured IIS to work with WAS. It works perfectly on Server A and I have co
nfigured IIS and WAS same way on Server B . Through deployment manager web server plugins are successfully generated I have verified by opening the plugin file on each server, it contains URI for App being installed, I have checked on both servers). The I
ssue I am having is when I shut down WAS on Server A and try to hit the server with its host e.g htt://serverb/snoop , When I look at the plugin log on server B, it fails with the error " ws_common: websphereGetStream: Failed to connect to app server on h
ost serverA" . When I look at the plugin log on Server B, it showing me that its trying to connect to WAS on Server A instead of WAS on Server B, which is down so it fails. If someone know what's going on here, it would be highly appreciated.
Thanks,
DV
dvpunia@decisionlabs.com
| |
| Paul Ilechko 2007-03-25, 1:22 pm |
| DVPunia@decisionlabs.com wrote:
> Hi, I have 2 servers Server A ( Deployment Manager, IIS Server, App
> Server) and Server B ( IIS and App Server). Both app server are
> federated into Deployment manager profile. I have configured IIS to
> work with WAS. It works perfectly on Server A and I have configured
> IIS and WAS same way on Server B . Through deployment manager web
> server plugins are successfully generated I have verified by opening
> the plugin file on each server, it contains URI for App being
> installed, I have checked on both servers). The Issue I am having is
> when I shut down WAS on Server A and try to hit the server with its
> host e.g htt://serverb/snoop , When I look at the plugin log on
> server B, it fails with the error " ws_common: websphereGetStream:
> Failed to connect to app server on host serverA" . When I look at the
> plugin log on Server B, it showing me that its trying to connect to
> WAS on Server A instead of WAS on Server B, which is down so it
> fails. If someone know what's going on here, it would be highly
> appreciated.
This is normal behavior. A webserver plugin will load balance across the
cluster. Does it fail one time only and then only access the "up"
server, or does it fail repeatedly? It should notice that the appserver
is down and stop sending work to it.
| |
|
| Hi Paul,
Thanks for your response. There is no clustering on these servers yet. These are 2 individual servers on 2 different machines which are federated through Deployment Manager. Does it fail repeatedly? yes it does, it seems to always go to server 1 no matter
what.
Regards,
DV
dvpunia@decisionlabs.com
| |
| Paul Ilechko 2007-03-26, 1:23 pm |
| DV wrote:
> Hi Paul, Thanks for your response. There is no clustering on these
> servers yet. These are 2 individual servers on 2 different machines
> which are federated through Deployment Manager. Does it fail
> repeatedly? yes it does, it seems to always go to server 1 no matter
> what.
Well, if there's no clustering, it will go to whichever server is
specified in the plugin config file.
| |
|
| When the application is installed using deployment manager both servers are selected at deployment. So after saving the configuration using was admin console. Application is installed on both servers. So When I look at the plugin, it shows both servers in
there but when I hit the server 2 with the explicit server name (e.g http://server2/snoop), it connects to the web server on server 2 and then the web server on server 2 tries to connect to was on server 1 instead of the server 2. This info is logged int
o plugin log file. So how I can avoid that. Realisticly if I hit server2 with its host name, it should go to server 2.
Question: When 2 servers are federated using deployment manager, are they automatically treated like clusters because by looking in the plugin it shows "round robin".
Attached is the plugin file.
Thanks.
DV
dvpunia@decisionlabs.com
| |
| Paul Ilechko 2007-03-26, 7:35 pm |
| DV wrote:
> When the application is installed using deployment manager both
> servers are selected at deployment. So after saving the configuration
> using was admin console. Application is installed on both servers. So
> When I look at the plugin, it shows both servers in there but when I
> hit the server 2 with the explicit server name (e.g
> http://server2/snoop), it connects to the web server on server 2 and
> then the web server on server 2 tries to connect to was on server 1
> instead of the server 2. This info is logged into plugin log file. So
> how I can avoid that. Realisticly if I hit server2 with its host
> name, it should go to server 2.
No, that's not how the plugin works. If you want the web server on
server 1 to only go to the appserver on server 1, you need to only have
appserver 1 in the plugin config on that box. You're going to have to
create custom plugin files.
>
> Question: When 2 servers are federated using deployment manager, are
> they automatically treated like clusters because by looking in the
> plugin it shows "round robin".
No, if they were treated like clusters it would load balance.
| |
|
| Hi Paul,
How do you create custom plugin files, I know you can create custom profile but never knew you could create custom plugin files, do you mean manually, I hope not. One thing I am not clear is, When I installed WAS on Server1, I created 2 profiles, one for
Deployment Manager and other for AppSrv01. After creating 2 profiles, I installed the Http plugin using install wizard and did the test to see if plugin was installed/configured. It was all good because I was able to hit the snoop servlet wihtout specifin
g the port 9080. That shows me it was good. So my question is when you install the plugin, how do you know what profile its associating it with, I am assuming it would be , AppSrv01, correct.
Thanks,
DV
dvpunia@decisionlabs.com
| |
| Paul Ilechko 2007-03-26, 7:35 pm |
| DV wrote:
> Hi Paul, How do you create custom plugin files, I know you can create
> custom profile but never knew you could create custom plugin files,
> do you mean manually, I hope not.
Yes, I mean manually. but you'd be better off just defining a cluster
and deploying the application to the cluster. Then it would nicely load
balance across the machines. BTW, normally people do not run the
webserver on the same machine as the appserver, at least not in
production and performance test environments.
See this link for everything you want to know about the plugin config file:
http://publib.boulder.ibm.com/infoc..._plugincfg.html
and also see:
http://publib.boulder.ibm.com/infoc...wsv_plugin.html
| |
|
| Hi Paul,
I truly appreciate your responses. I am not using cluster there is a reason for not using it for now may be in future that might be the direction to take and the reason I am using webserver and WAS server on the same machine because they are strong machin
e and hardware is an issue, don't have too many machines. I already gone through the links you have mailed me. I think the issue is when using deployment manager to deploy the application and the app is installed on both servers and then you generate the
plugin , it automatically adds both server entries in the plugin in tags => [ <serverCluster Name="server1"> & <Route ServerCluster="server1"> and <serverCluster Name="server2"> & <Route ServerCluster="server2" ] , eventhough they are not cluster but it
puts both server entires anyway. There must be a better way to do this, for now I have to manually remove the entries of server1 from server2 plugin file and vice versa.
If you know a better way to do this , will truly appreciate your response, may be through script.
Once again thanks for sharing your thoughts.
DV
dvpunia@decisionlabs.com
| |
|
| Hi,
I think your problem is session stickiness, we can achive this with implementing cluster. There is a work around to over come this issue.
Application servers > <server1> > Web container > Custom Properties add the below entries,
Name cloneid description
---- ------- -----------
HttpSessionCloneId 11mqxyzvk server 1
The same clone id has to configure in the plugin-cfg.xml file.
You need to add this cloneid for both server instances, then the session stickiness problem will be solved.
Follow this if it is helpful.
Thanks
Jai Nadi
| |
|
| And one more thing, clone id should be unique for each server instances.
Thanks
Jai Nadi
| |
| Paul Ilechko 2007-03-29, 1:27 pm |
| jai_nadimuthu@rediffmail.com wrote:
> Hi,
>
> I think your problem is session stickiness, we can achive this with implementing cluster. There is a work around to over come this issue.
>
> Application servers > <server1> > Web container > Custom Properties add the below entries,
> Name cloneid description
> ---- ------- -----------
> HttpSessionCloneId 11mqxyzvk server 1
>
> The same clone id has to configure in the plugin-cfg.xml file.
>
> You need to add this cloneid for both server instances, then the session stickiness problem will be solved.
>
> Follow this if it is helpful.
>
> Thanks
> Jai Nadi
this is not supported
| |
|
| The work around I have done for this is by switchching the <route> order in the plugin file manually on the second server. The way it works is plugin reads server route from botto up so even on 2nd server it alwyas tries to connect server 1.
After generating the plugin:
========================================
===============================
<Route ServerCluster="server1_WAS2Node01_Cluster" UriGroup=" default_host_server1_WAS2Node01_Cluster_
URIs" VirtualHostGroup="default_host"/> ..
<Route ServerCluster="server1_WAS21Node01_Cluster" UriGroup=" default_host_server1_WAS1Node01_Cluster_
URIs" VirtualHostGroup="default_host"/>
========================================
====================================
After Manual modification in the plugin:
========================================
===============================
<Route ServerCluster="server1_WAS21Node01_Cluster" UriGroup=" default_host_server1_WAS1Node01_Cluster_
URIs" VirtualHostGroup="default_host"/>
<Route ServerCluster="server1_WAS2Node01_Cluster" UriGroup=" default_host_server1_WAS2Node01_Cluster_
URIs" VirtualHostGroup="default_host"/>
========================================
====================================
-DV
dvpunia@decisionlabs.com
|
|
|
|
|