Topic
  • 13 replies
  • Latest Post - ‏2012-11-20T21:49:31Z by jdell
jdell
jdell
7 Posts

Pinned topic WAS V6.1 (Base) - One profile / two app servers

‏2012-11-15T04:22:48Z |
Howdy,

I have a test setup using WAS 6.1 (base) with one (default AppSrv01) profile and two application servers associated with that profile. One of the servers is the default "server1" that is created on installation and the other server is called "jdserver" which I added via wsadmin using the default profile.

Access to the admin console is via http://host:9060/ibm/console and that works fine. I can also run the default apps (e.g. snoop) from port 9080. From the admin console, I can see the other app server and I was able to map the Default application to the second server as well. With the second server running, I can also run the default apps from port 9081. However, I cannot get to the admin console on port 9061 which is the defined admin port for the second server. I added a couple of entries under "Virtual Hosts" (*, 9061 and *, 9044) and I still get a http 404 error when trying to access the admin console on port 9061.

For the second server's SystemOut.log I see the entry:

SRVE0255E: A WebGroup/Virtual Host to handle /ibm/console has not been defined.

For server1, I see successful messages related to the initialization of the isclite application.

I can also confirm that the jdserver server is listening on ports 9061/9044 (via netstat)

In the past, with two or more profiles defined, I can access the admin console associated with all the profiles without issue.

So is there only one admin console application "allowed" per profile or should I be able to access the admin console app on the second server defined with the same profile as the first server, server1? If it's the latter, would someone be able to point me in the right direction with regards to accessing the admin app on the second server?

Cheers,
JD
Updated on 2012-11-20T21:49:31Z at 2012-11-20T21:49:31Z by jdell
  • bpaskin
    bpaskin
    4063 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-15T11:12:41Z  
    Hi, You have created a server, but have not deployed the management console to it. Use the iscdeploy.sh script located in <PROFILE_HOME>/bin directory to deploy the console.

    Regards,
    Brian
  • jdell
    jdell
    7 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-15T23:37:27Z  
    • bpaskin
    • ‏2012-11-15T11:12:41Z
    Hi, You have created a server, but have not deployed the management console to it. Use the iscdeploy.sh script located in <PROFILE_HOME>/bin directory to deploy the console.

    Regards,
    Brian
    Hi Brian,

    Thanks for your response. How exactly should I use iscdeploy.bat (e.g. what parameters)? There doesn't appear to be a great deal of information on this utility.

    On my setup, the usage info is:

    "PLPR0000I: Usage iscdeploy -install -moduleExtension <module extension warfile> -uninstall -pluginId <pluginId> -forceRemove <true or false> -updateFeature <feature directory name>"

    I don't see any parameters here that are "app server specific". Though not listed in the usage info, there is a -restore option. I tried this and the command executed successfully but my issue still remains.

    Thanks,
    JD
  • jdell
    jdell
    7 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-15T23:47:46Z  
    • bpaskin
    • ‏2012-11-15T11:12:41Z
    Hi, You have created a server, but have not deployed the management console to it. Use the iscdeploy.sh script located in <PROFILE_HOME>/bin directory to deploy the console.

    Regards,
    Brian
    Hi Brian,

    Thanks for your reply. How exactly should I execute iscdeploy.bat (e.g. parameters)?

    On my system, the usage info for this utility is:

    "PLPR0000I: Usage iscdeploy -install -moduleExtension <module extension warfile> -uninstall -pluginId <pluginId> -forceRemove <true or false> -updateFeature <feature directory name>"

    I don't see any "app server specific" parameters here. Though not shown above, there is a -restore option: I executed the batch file with this option and it ran without error. However my issue still persists (even after app server restarts).

    Thanks,
    JD
  • bpaskin
    bpaskin
    4063 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-16T13:35:51Z  
    • jdell
    • ‏2012-11-15T23:47:46Z
    Hi Brian,

    Thanks for your reply. How exactly should I execute iscdeploy.bat (e.g. parameters)?

    On my system, the usage info for this utility is:

    "PLPR0000I: Usage iscdeploy -install -moduleExtension <module extension warfile> -uninstall -pluginId <pluginId> -forceRemove <true or false> -updateFeature <feature directory name>"

    I don't see any "app server specific" parameters here. Though not shown above, there is a -restore option: I executed the batch file with this option and it ran without error. However my issue still persists (even after app server restarts).

    Thanks,
    JD
    Hi,

    You can also deploy it using Jython.

    <PROFILE_HOME>/bin/wsadmim.sh -connType SOAP -port <SERVER_SOAP_PORT> -lang jython -f <PROFILE_HOME>/bin/deployConsole.py install

    Take a look at this document: http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.base.doc%2Finfo%2Faes%2Fae%2Ftcon_console_inst_uninst.html

    Regards,
    Brian
  • jdell
    jdell
    7 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-18T23:54:27Z  
    • bpaskin
    • ‏2012-11-16T13:35:51Z
    Hi,

    You can also deploy it using Jython.

    <PROFILE_HOME>/bin/wsadmim.sh -connType SOAP -port <SERVER_SOAP_PORT> -lang jython -f <PROFILE_HOME>/bin/deployConsole.py install

    Take a look at this document: http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.base.doc%2Finfo%2Faes%2Fae%2Ftcon_console_inst_uninst.html

    Regards,
    Brian
    Hi Brian,

    Thanks for taking the time to reply.

    I tried installing the Admin console via wsadmin/Jython as per your suggestion. Here's the command I used (port 8881 is the SOAP port for server "jdserver" - the second server):

    C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>wsadmin -connType SOAP -port 8881 -lang jython -f deployConsole.py install

    And here's the result (truncated):


    .....
    .....
    WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "install"
    Installing Admin Console...
    Deploying isclite.ear
    Admin console is already installed.
    Skipping Config Save


    The command sees that the Admin Console is already installed.

    More and more, I'm starting to think that the admin console can only be installed once per profile and not per application server under the one profile. Unless of course I'm missing something.

    Cheers,
    JD
  • SJC
    SJC
    156 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-19T12:13:11Z  
    • jdell
    • ‏2012-11-18T23:54:27Z
    Hi Brian,

    Thanks for taking the time to reply.

    I tried installing the Admin console via wsadmin/Jython as per your suggestion. Here's the command I used (port 8881 is the SOAP port for server "jdserver" - the second server):

    C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>wsadmin -connType SOAP -port 8881 -lang jython -f deployConsole.py install

    And here's the result (truncated):


    .....
    .....
    WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "install"
    Installing Admin Console...
    Deploying isclite.ear
    Admin console is already installed.
    Skipping Config Save


    The command sees that the Admin Console is already installed.

    More and more, I'm starting to think that the admin console can only be installed once per profile and not per application server under the one profile. Unless of course I'm missing something.

    Cheers,
    JD
    JD - One default profile (one node) with two app servers isn't recommended and is at best supported only with limitations and restrictions. These console deploy scripts / commands assume they're working in a node with just one server.

    Creating separate profiles, each with one app server, is the 'normal' approach for Base edition. What is motivating you to move away from that approach?

    To run more than one app server in a node (profile) you either need to be running ND (where the node is federated into a cell managed by a deployment manager) or with an Admin Agent process with which your node has been registered (I think this is only available from WAS 7 onwards). Significantly the deployment manager or admin agent act as a single point of administrative ownership for the configuration (including access via a console).

    In your single node/profile there is one shared (cell) configuration. Having multiple servers acting as the primary admin access to that shared config creates problems. No application (including isclite for the console) can be installed multiple times into the same cell which is why you see the latest error. You could edit the deployment targets of the (already installed) application to list both servers to get it running in both servers. But you're likely to hit some other problems down the road.

    //S
  • bpaskin
    bpaskin
    4063 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-19T13:36:22Z  
    • jdell
    • ‏2012-11-18T23:54:27Z
    Hi Brian,

    Thanks for taking the time to reply.

    I tried installing the Admin console via wsadmin/Jython as per your suggestion. Here's the command I used (port 8881 is the SOAP port for server "jdserver" - the second server):

    C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>wsadmin -connType SOAP -port 8881 -lang jython -f deployConsole.py install

    And here's the result (truncated):


    .....
    .....
    WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "install"
    Installing Admin Console...
    Deploying isclite.ear
    Admin console is already installed.
    Skipping Config Save


    The command sees that the Admin Console is already installed.

    More and more, I'm starting to think that the admin console can only be installed once per profile and not per application server under the one profile. Unless of course I'm missing something.

    Cheers,
    JD
    Hi, You can install the ISC on any amount of servers in the profile. Are you sure the App Server is listening on 9061? You can also remove and add again the ISC.

    Regards,
    Brian
  • jdell
    jdell
    7 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-19T21:59:00Z  
    • SJC
    • ‏2012-11-19T12:13:11Z
    JD - One default profile (one node) with two app servers isn't recommended and is at best supported only with limitations and restrictions. These console deploy scripts / commands assume they're working in a node with just one server.

    Creating separate profiles, each with one app server, is the 'normal' approach for Base edition. What is motivating you to move away from that approach?

    To run more than one app server in a node (profile) you either need to be running ND (where the node is federated into a cell managed by a deployment manager) or with an Admin Agent process with which your node has been registered (I think this is only available from WAS 7 onwards). Significantly the deployment manager or admin agent act as a single point of administrative ownership for the configuration (including access via a console).

    In your single node/profile there is one shared (cell) configuration. Having multiple servers acting as the primary admin access to that shared config creates problems. No application (including isclite for the console) can be installed multiple times into the same cell which is why you see the latest error. You could edit the deployment targets of the (already installed) application to list both servers to get it running in both servers. But you're likely to hit some other problems down the road.

    //S
    Hi SJC - thanks for your response.

    "JD - One default profile (one node) with two app servers isn't recommended and is at best supported only with limitations and restrictions. These console deploy scripts / commands assume they're working in a node with just one server."

    Except for the ISC deployment issue, I haven't had any issues with two app servers under the one profile. If this is not recommended, then why are there commands to allow the addition of more servers to profiles?

    "Creating separate profiles, each with one app server, is the 'normal' approach for Base edition. What is motivating you to move away from that approach?"

    My motivation - we have a 3rd party app and there are 4 pre-production environments (dev, UAT, SIT etc) and each applciation environment has a separate profile and a separate admin console. I have successfully shown that we can have these environments under the one profile. My goal is to have one admin console to administer the 4 server environments. As I have stated in my earlier post, when I run the admin console that was deployed to "server1" I can see the other added server "jdserver" and I can map application modules to it successfully and do things like change server specific configurations (e.g. JVM heap sizes). There are times however, when one of the environments may be down (e.g. the one associated with server1) and I just want to make sure that we can access the admin console via another server - hence my issue.

    "To run more than one app server in a node (profile) you either need to be running ND (where the node is federated into a cell managed by a deployment manager) or with an Admin Agent process with which your node has been registered (I think this is only available from WAS 7 onwards). "

    Sorry - I have to disagree with that statement - see previous "blurb" :-).

    As I said in my previous post (and you have as well), there doesn't appear to be a way to deploy the ISC app to more than one app server under the one profile.

    Thanks for your feedback.

    Cheers,
    JD
  • jdell
    jdell
    7 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-19T22:06:09Z  
    • bpaskin
    • ‏2012-11-19T13:36:22Z
    Hi, You can install the ISC on any amount of servers in the profile. Are you sure the App Server is listening on 9061? You can also remove and add again the ISC.

    Regards,
    Brian
    Hi Brian,

    Yes I am sure that server "jdserver" is listening on port 9061 (see netstat output below):

    C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>netstat -ona | findstr 9061
    TCP 0.0.0.0:9061 0.0.0.0:0 LISTENING 3412

    I'm not sure what removing and adding the ISC is going to do as there doesn't appear to be any app server specific parameters when deploying the ISC app.

    If I get some time today, I'll give it a go anyway - I have nothing to lose.

    Regards,
    JD
  • gas
    gas
    891 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-20T10:34:07Z  
    • jdell
    • ‏2012-11-19T21:59:00Z
    Hi SJC - thanks for your response.

    "JD - One default profile (one node) with two app servers isn't recommended and is at best supported only with limitations and restrictions. These console deploy scripts / commands assume they're working in a node with just one server."

    Except for the ISC deployment issue, I haven't had any issues with two app servers under the one profile. If this is not recommended, then why are there commands to allow the addition of more servers to profiles?

    "Creating separate profiles, each with one app server, is the 'normal' approach for Base edition. What is motivating you to move away from that approach?"

    My motivation - we have a 3rd party app and there are 4 pre-production environments (dev, UAT, SIT etc) and each applciation environment has a separate profile and a separate admin console. I have successfully shown that we can have these environments under the one profile. My goal is to have one admin console to administer the 4 server environments. As I have stated in my earlier post, when I run the admin console that was deployed to "server1" I can see the other added server "jdserver" and I can map application modules to it successfully and do things like change server specific configurations (e.g. JVM heap sizes). There are times however, when one of the environments may be down (e.g. the one associated with server1) and I just want to make sure that we can access the admin console via another server - hence my issue.

    "To run more than one app server in a node (profile) you either need to be running ND (where the node is federated into a cell managed by a deployment manager) or with an Admin Agent process with which your node has been registered (I think this is only available from WAS 7 onwards). "

    Sorry - I have to disagree with that statement - see previous "blurb" :-).

    As I said in my previous post (and you have as well), there doesn't appear to be a way to deploy the ISC app to more than one app server under the one profile.

    Thanks for your feedback.

    Cheers,
    JD
    Hi,

    This for sure is doable, as for example when you install standalone Portal console is available on both server1 and WebSphere_Portal server. I dont have similar setup at hand, so I cannot verify this config for sure, but you may try this (I didnt try this, so be warn :-) ):
    • go to your profile directory:
    /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/CellName/applications/isclite.ear/deployments/isclite

    • find file deployment.xml
    • find section:
    <deploymentTargets xmi:type="appdeployment:ServerTarget" xmi:id="ServerTarget_1162483845425" name="server1" nodeName="node1"/>
    • add second deployment target pointing to your other server, create new id

    • find sections
    <targetMappings xmi:id="DeploymentTargetMapping_1282248002117" target="ServerTarget_1162483845425" />
    copy using the other ServerTarget id

    • find serverindex.xml
    /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/cellName/nodes/nodeName> vi serverindex.xml
    • find entry related to your other server
    copy the following from first server
    <deployedApplications>isclite.ear/deployments/isclite</deployedApplications>

    Probably there is somewhere config mapping to admin_host or default_host, but I dont remember where right now.
    So after these changes try both accessing console on the second server on both ports 9061 and 9081.
    Make sure to do a backup of all changed files as this is for sure not supported.

    Gas
  • E7PE_kiran_garimilla
    5 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-20T13:50:57Z  
    if u r using iis webserver
    Use an address of the form http://hostname:9080/ibm/iis/console
  • SJC
    SJC
    156 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-20T18:20:29Z  
    • jdell
    • ‏2012-11-19T21:59:00Z
    Hi SJC - thanks for your response.

    "JD - One default profile (one node) with two app servers isn't recommended and is at best supported only with limitations and restrictions. These console deploy scripts / commands assume they're working in a node with just one server."

    Except for the ISC deployment issue, I haven't had any issues with two app servers under the one profile. If this is not recommended, then why are there commands to allow the addition of more servers to profiles?

    "Creating separate profiles, each with one app server, is the 'normal' approach for Base edition. What is motivating you to move away from that approach?"

    My motivation - we have a 3rd party app and there are 4 pre-production environments (dev, UAT, SIT etc) and each applciation environment has a separate profile and a separate admin console. I have successfully shown that we can have these environments under the one profile. My goal is to have one admin console to administer the 4 server environments. As I have stated in my earlier post, when I run the admin console that was deployed to "server1" I can see the other added server "jdserver" and I can map application modules to it successfully and do things like change server specific configurations (e.g. JVM heap sizes). There are times however, when one of the environments may be down (e.g. the one associated with server1) and I just want to make sure that we can access the admin console via another server - hence my issue.

    "To run more than one app server in a node (profile) you either need to be running ND (where the node is federated into a cell managed by a deployment manager) or with an Admin Agent process with which your node has been registered (I think this is only available from WAS 7 onwards). "

    Sorry - I have to disagree with that statement - see previous "blurb" :-).

    As I said in my previous post (and you have as well), there doesn't appear to be a way to deploy the ISC app to more than one app server under the one profile.

    Thanks for your feedback.

    Cheers,
    JD
    JD -

    "Except for the ISC deployment issue, I haven't had any issues with two app servers under the one profile."

    Here's one issue: Let's say you want to install the latest version of your application into the dev server. The current version is already installed in your UAT server. If these app servers are in separate profiles then no problem. If they're in the same profile then you'll have to override the defaults during app install in order to use a different application name each time (assuming the application name in the application.xml and the EAR's file name is always the same). That's because an application can only be installed once. You may be happy to do that. You'd have the same issue trying to run multiple environments in a single ND cell. Just noting it's a difference from behaviour in a multiple profile world.

    Also from the console on server1 you can see that server2 exists (because there's one shared config) but you wouldn't be able to see any MBeans on server2 (no runtime tabs on the server2-related console panels). Also certain components are able to auto-reload their configuration because either the change was made via code running in the same server, or was notified to the server by the node agent. You'll always have to restart "the other server" to pick up changes in its config.

    With the above limitations I question whether you really end up with one console that can manage all the servers. At first glance many things will indeed work. I'm just cautioning that you are heading in an unusual direction.

    "If this is not recommended, then why are there commands to allow the addition of more servers to profiles?"

    The commands are general purpose e.g. you may be running the commands while connected to a remote deployment manager. Being able to create multiple application servers in the same standalone profile enables procedural flexibility e.g. to add servers prior to registration with an admin agent, or federation of the node.

    "Sorry - I have to disagree with that statement"

    Sorry, I wasn't clear enough. You clearly can configure a second server and it can be started and "do work". It's just not recommended to do things this way. The recommended way is via multiple base profiles, or using ND, or (from V7) using a local Admin Agent. You won't find your configuration described in the WAS V7 Admin and Configuration Guide (http://www.redbooks.ibm.com/redbooks/SG247615/wwhelp/wwhimpl/java/html/wwhelp.htm). In particular see the note in section 1.3.

    "there doesn't appear to be a way to deploy the ISC app to more than one app server under the one profile"

    In my first post I said you could edit the deployment targets of the (already installed) isclite application. Another post has shown how you could do that in a non-supported way with a manual edit of the xml files, but I'd be surprised if AdminApp.editApplication() couldn't be used too. The console deployment utilities/scripts assume there's only one server (server1 or the deployment manager) as would be 'normal'.

    Good luck!
    //S
  • jdell
    jdell
    7 Posts

    Re: WAS V6.1 (Base) - One profile / two app servers

    ‏2012-11-20T21:49:31Z  
    • SJC
    • ‏2012-11-20T18:20:29Z
    JD -

    "Except for the ISC deployment issue, I haven't had any issues with two app servers under the one profile."

    Here's one issue: Let's say you want to install the latest version of your application into the dev server. The current version is already installed in your UAT server. If these app servers are in separate profiles then no problem. If they're in the same profile then you'll have to override the defaults during app install in order to use a different application name each time (assuming the application name in the application.xml and the EAR's file name is always the same). That's because an application can only be installed once. You may be happy to do that. You'd have the same issue trying to run multiple environments in a single ND cell. Just noting it's a difference from behaviour in a multiple profile world.

    Also from the console on server1 you can see that server2 exists (because there's one shared config) but you wouldn't be able to see any MBeans on server2 (no runtime tabs on the server2-related console panels). Also certain components are able to auto-reload their configuration because either the change was made via code running in the same server, or was notified to the server by the node agent. You'll always have to restart "the other server" to pick up changes in its config.

    With the above limitations I question whether you really end up with one console that can manage all the servers. At first glance many things will indeed work. I'm just cautioning that you are heading in an unusual direction.

    "If this is not recommended, then why are there commands to allow the addition of more servers to profiles?"

    The commands are general purpose e.g. you may be running the commands while connected to a remote deployment manager. Being able to create multiple application servers in the same standalone profile enables procedural flexibility e.g. to add servers prior to registration with an admin agent, or federation of the node.

    "Sorry - I have to disagree with that statement"

    Sorry, I wasn't clear enough. You clearly can configure a second server and it can be started and "do work". It's just not recommended to do things this way. The recommended way is via multiple base profiles, or using ND, or (from V7) using a local Admin Agent. You won't find your configuration described in the WAS V7 Admin and Configuration Guide (http://www.redbooks.ibm.com/redbooks/SG247615/wwhelp/wwhimpl/java/html/wwhelp.htm). In particular see the note in section 1.3.

    "there doesn't appear to be a way to deploy the ISC app to more than one app server under the one profile"

    In my first post I said you could edit the deployment targets of the (already installed) isclite application. Another post has shown how you could do that in a non-supported way with a manual edit of the xml files, but I'd be surprised if AdminApp.editApplication() couldn't be used too. The console deployment utilities/scripts assume there's only one server (server1 or the deployment manager) as would be 'normal'.

    Good luck!
    //S
    Hello SJC,

    You have convinced me of the potential issues of pursuing this matter any further. I will shelve my little "experiment" and live with separate profiles. It's not a huge issue - of all the applications we have here, most run in an ND environment - there's only a handful that run on WAS base.

    Again, thanks for taking the time to "debate" this matter.

    BTW thanks Gas for your detailed reply - I can see how this would work, but I think I'll give it a miss - just too much "mucking around" for the possible benefit I may get.

    Cheers,
    JD