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

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
    3650 Posts
    ACCEPTED ANSWER

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

    ‏2012-11-15T11:12:41Z  in response to jdell
    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
      ACCEPTED ANSWER

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

      ‏2012-11-15T23:37:27Z  in response to bpaskin
      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
      ACCEPTED ANSWER

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

      ‏2012-11-15T23:47:46Z  in response to bpaskin
      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
        3650 Posts
        ACCEPTED ANSWER

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

        ‏2012-11-16T13:35:51Z  in response to jdell
        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
          ACCEPTED ANSWER

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

          ‏2012-11-18T23:54:27Z  in response to bpaskin
          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
            ACCEPTED ANSWER

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

            ‏2012-11-19T12:13:11Z  in response to jdell
            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
            • jdell
              jdell
              7 Posts
              ACCEPTED ANSWER

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

              ‏2012-11-19T21:59:00Z  in response to SJC
              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
              • gas
                gas
                857 Posts
                ACCEPTED ANSWER

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

                ‏2012-11-20T10:34:07Z  in response to jdell
                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
              • SJC
                SJC
                156 Posts
                ACCEPTED ANSWER

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

                ‏2012-11-20T18:20:29Z  in response to jdell
                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
                  ACCEPTED ANSWER

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

                  ‏2012-11-20T21:49:31Z  in response to SJC
                  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
          • bpaskin
            bpaskin
            3650 Posts
            ACCEPTED ANSWER

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

            ‏2012-11-19T13:36:22Z  in response to jdell
            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
              ACCEPTED ANSWER

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

              ‏2012-11-19T22:06:09Z  in response to bpaskin
              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
  • E7PE_kiran_garimilla
    5 Posts
    ACCEPTED ANSWER

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

    ‏2012-11-20T13:50:57Z  in response to jdell
    if u r using iis webserver
    Use an address of the form http://hostname:9080/ibm/iis/console