Sie sind auf Seite 1von 18

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

IT Developer World
03 May 09

WebSphere Concepts: Cell, Node, Cluster, Server


By rafaelri 62 Comments Categories: JavaEE Tags: Cell, Cluster, concepts, Deployment Manager, dmgr, Node, Node Agent, Server, WebSphere Quick post If you are not familiar with WebSphere at rst you might get confused with its concepts: cell, deployment manager, node, node agent, cluster, server, First of all, lets start with the concept of a Cell: A Cell is a virtual unit that is built of a Deployment Manager and one or more nodes. I guess a picture will help making things clearer:

(hp://itdevworld.les.wordpress.com /2009/05/websphere-cell.jpg) WebSphere Cell But still there are a few concepts that need to be explained. The next obvious one is the Deployment Manager. The Deployment Manager is a process (in fact it is an special WebSphere instance) responsible for managing the installation and maintenance of Applications, Connection Pools and other resources related to a J2EE environment. It is also responsible for centralizing user repositories for application and also for WebSphere authentication and authorization. The Deployment Manager communicates with the Nodes through another special WebSphere process, the

1 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

Node Agent. The Node is another virtual unit that is built of a Node Agent and one or more Server instances. The Node Agent it the process responsible for spawning and killing server processes and also responsible for conguration synchronization between the Deployment Manager and the Node. Extra care must be taken when changing security congurations for the cell, since communication between Deployment Manager and Node Agent is ciphered and secured when security is enabled, Node Agent needs to have conguration fully resynchronized when impacting changes are made to Cell security conguration. Servers are regular Java process responsible for serving J2EE requests (eg.: serving JSP/JSF pages, serving EJB calls, consuming JMS queues, etc). And to nish, Clusters are also virtual units that groups Servers so resources added to the Cluster are propagated to every Server that makes up the cluster, this will in fact aect usually more than a single Node instance. Lets nish this post with another diagram to illustrate all those concepts.

(hp://itdevworld.les.wordpress.com/2009/05/websphere-concepts.jpg) WebSphere Concepts

62 Responses to WebSphere Concepts: Cell, Node, Cluster, Server


Feed for this Entry Trackback Address 1. 1 websphere May 27, 2009 at 5:58 pm Thanks for this info Reply 2 Suji

2 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

July 14, 2009 at 8:50 am Good explanation..I have one question, does the servers in the node, share the server lesystem(server related like wpcong.properties etc) or do they have sperate le system.. Reply 3 rafaelri July 14, 2009 at 12:01 pm Suji, they have a separate le system. But if you server is in a cluster, node agent performs synchronization of cluster related conguration using a le replication mechanism. Thats the reason you should keep system clock in sync across nodes in a cell. regards, Rafael 4 Suji July 16, 2009 at 9:54 am thanks for the explanation, now I know that server has spereate synchronized binaries in all the servers in a cluster. Now what happens when we deploy application on the cluster environment? does copy of ear will be created in all the servers? 5 rafaelri July 16, 2009 at 12:54 pm Exactly, Dmgr will send copies of the EAR to all nodes that own a server on the cluster that the application is deployed. It performs the same actions as if it were with conguration les. 6 Suji July 16, 2009 at 1:55 pm I am geing more and more information from your post. Now my question is, how the request is handled in a cluster? Does the request pertaining to one user is directed to particular node or it oats between the nodes? If it oats between the nodes, how the session management is done? -Thanks 7 rafaelri July 16, 2009 at 3:06 pm I can guess that you mean a web request right? It boils down to the spec, it covers only that if the request is sent to multiple nodes in a cluster this session MUST be propagated. WebSphere by itself does not do load balancing for web request between servers in a cluster, you need to install IHS or Edge components for this purpose and how the request will be spread is responsibility of IHS and Edge. And this is also an option that is up to you, it depends on your load scenario, application requirements, etc. There are cases where anity is the way to go, but anity comes with the price that you might overload one server. Edge components provide an (almost) smart tool that can monitor IHS to check its load but still it cant check WebSphere load. regards, Rafael Ribeiro 2. 8 sri August 19, 2009 at 12:55 pm hi,

3 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

im geing more information from ur post. I had a doubt. node agent is connected to servers so when a node agent is down or it is not working. wil servers work or not. Reply 9 rafaelri September 6, 2009 at 2:05 am no. it wont work. another mandatory process is the dmgr. it seems like node agent play part of the role of a name server for the node. Reply 10 Garry October 20, 2010 at 6:44 pm Wrong. Servers will work without the node agent or deployment manager. They cannot, however, be managed with the nice web-based GUI without the node agents and dmgr running. All of your trac routing takes place within the web server plugin. If you have no node agents running, you cannot update the application from the dmgr, or start or stop the servers remotely. The node agents are responsible for inter-node communications only. If I have een JVMs per node, all een will run, but they wont share any information when the node agent goes down. 11 rafaelri October 21, 2010 at 12:07 am Garry, Are you saying IBM documentation is wrong? This Redbook on PDF page 35 is rather clear: The Node Agent must be running when starting the application server on that node so the application server can register with the Location Service Daemon (LSD). In WebSphere V6 the LSD is HAManager enabled therefore you only need one running Node Agent in the cluster to provide the LSD when the application servers are started on the node.. 12 Srini November 17, 2011 at 12:43 am Rafaelri, node agent process is mandatory to start the application server on that node, but once the application server has been started, if node agent and DMGR goes down then also your application server will be able to server the requests. Reply 3. 13 sri August 20, 2009 at 9:48 am HI, ple help to solve my problem.I created bus member,destination nd also message engine. message engine have to get started automaticaaly but it did not get start.unavailable symbol is showing. ple resolve my problem. Below mentioned is the error when im trying to start to start the message engine. The messaging engine jaya-e6885a8c72Node01.server1-MsgBus cannot be started as there is no runtime initialized for it yet, retry the operation once it has initialized. If dynamic conguration reload is not enabled for this bus then the server will need to be restarted. Reply 14 rafaelri

4 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

September 6, 2009 at 2:04 am Hi Sri, Probably you have anything wrong with your messaging engine runtime (eg.: your storage folder has les from a previous running engine or database tables are shared by multiple engines [tables for storage are exclusive]) check these common problems. Reply 4. 15 Samba November 7, 2009 at 1:42 am Thanks this info especially the diagram gave me some basic ideas about the concepts. You may want to include some description of deployment manager, as it denitely works hand in hand with the node, cell concepts. Reply 5. 16 Shrinivas November 30, 2009 at 12:43 pm Hi, Nice posting very informative. I have a question for you. I have installed multiple server instance under one prole. How do i manage those server, i mean how do i start and stop server. Do i need to have Node agent and Node congured for that. I am using WS v 6.1 Network Deployemtn with advance install option. Whien i try to start application congiured on dieretn server i get error Activities can not be started because it is installed on a dierent server Kindly let me know your inpiuts Thanks Shrini Reply 17 rafaelri December 1, 2009 at 1:08 am Hi Shrini, Sincerely I never saw this error message In regard to multiple servers on a single node, no problem it is perfectly ne, youll see the multiples servers at DMgr prole and youll also be able to select in which of them (server or cluster) your application module will be installed (you can even change it a er it is installed under manage modules option). Then, a er application is installed and if it is set to auto start with server you only need to start the corresponding server, for this to happen the node agent needs to be running (so the node is active). best regards, Rafael Ribeiro Reply 6. 18 sai pavan December 8, 2009 at 3:49 pm Hi Rafaelri, i have one question which was asked in an interview. there are 5 cells on a node .in order to do single sign on, hw many times we have to exchange the keys between these 5 cells? Reply

5 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

19 rafaelri December 11, 2009 at 11:13 pm Hi Sai, Sorry but I sincerely dont know. Id suggest that you ask this on WebSphere Application Server Forum. best regards Reply 7. 20 satyendra January 25, 2010 at 1:11 pm Hello, I am very much keen for IBM websphere Test 000-253: IBM WebSphere Application Server Network Deployment V6.1, Core Administration . So Can please suggest best book for Test 000-253: IBM WebSphere Application Server Network Deployment V6.1, Core Administration except Red book. Thanks and Regards, Satyendra Reply 21 rafaelri January 27, 2010 at 11:49 pm Satyendra, Sorry for not being able to answer this but although it might seem that I am an WAS admin (from some of my posts) I usually play this role but my main role is as an architect for J2EE solutions (nowadays most of them run on WAS) so I cant suggest you any book for this particular WAS administration exam. regards, Rafael Ribeiro Reply 8. 22 pandi February 10, 2010 at 8:23 am thanks its easy to learn Reply 9. 23 sree March 20, 2010 at 7:35 am Can you have more than one server within a node? Regards Sree Reply 24 rafaelri March 20, 2010 at 1:49 pm Yes. As I said on the post: The Node is [...] built of [...] and one or more Server instances.. Reply 10. 25 DavidS@IBM June 8, 2010 at 5:59 am This is not the case for any of the currently supported releases of WebSphere Application Server (v6, v6.1, v7).

6 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

The deployment manager is only needed for centralised administration & management of a WAS cell. Not for name server or any run-time service. To start servers on the nodes, the node agent must be running, but the deployment manager doesnt need to be running. Started application servers on a node no longer require the node agent. They can continue to function correctly with all name services, session management & fail-over capability without node agent or deployment manager. Reply 26 rafaelri June 8, 2010 at 10:39 pm David, Ill retry the tests I did it was quite a long time ago and sincerely what you described is what I expected but I sincerely remember to see a server misfunction while nodeagent or dmgr is down. And I ask you next time to provide a real e-mail since Im the only one that will see this it helps me have more condence in approving comments best regards, Rafael Ribeiro Reply 27 SANDHYARAJ December 14, 2010 at 12:27 pm this notes is very good, but i need more clarication and explanation. so please provide the notes regarding the websphere server. 11. 28 Ritesh@LnT June 10, 2010 at 12:54 am Rafaelri, As david has explained, node agent is no longer needed for the servers to be up and running unless you make any changes in the cong repository. Deployment manager is needed only to centrally administer all servers and nodes. Its not required to keep DMGR running for the servers to be up and running. Warmest Regards, Ritesh Vyas Reply 29 rafaelri June 11, 2010 at 1:55 am Hi Ritesh! I did a very simple test here and noticed one interesting behaviour. My setup was simple: I had a cluster with a bus that in turn had a cluster member with a le system storage and a queue destination. The cluster had a single server and I installed an application that had a single EJB with startup capabilities. Upon startup this EJB scheduled a timer to send every 3s an ObjectMessage (cause I remembered a friend complained about not being able to send JMS messages over WAS default JMS provider when dmgr was down). My rst test was to bring the whole cell up: dmgr, node, server and then check if everything was working as expected and in fact it was working (what a surprise ). Then I shut down dmgr and nally nodeagent. Upon dmgr shutdown a few DCS messages were seen as follows: [6/10/10 22:20:33:916 BRT] 00000040 DiscoveryServ W DCSV1115W: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: Member was1Cell01\was1CellManager01\dmgr connection was closed. Member will be removed from view. DCS connection status is Discovery|Ptp, receiver closed.

7 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

[6/10/10 22:20:33:917 BRT] 00000014 RmmPtpGroup W DCSV1115W: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: Member was1Cell01\was1CellManager01\dmgr connection was closed. Member will be removed from view. DCS connection status is View|Ptp, receiver closed. [6/10/10 22:20:34:093 BRT] 0000002d SystemOut O TO Begin [6/10/10 22:20:34:094 BRT] 0000002d SystemOut O TO end [6/10/10 22:20:34:243 BRT] 00000036 SystemOut O onMSG [6/10/10 22:20:34:243 BRT] 00000036 SystemOut O Thu Jun 10 22:20:34 BRT 2010 [6/10/10 22:20:34:331 BRT] 00000014 VSyncAlgo1 I DCSV2004I: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: View synchronization completed successfully. The View Identier is (9:0.was1Cell01\was1CellManager01\dmgr). The internal details are None. [6/10/10 22:20:34:575 BRT] 00000017 ViewReceiver I DCSV1033I: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: Conrmed all new view members in view identier (10:0.was1Cell01\was1Node01\nodeagent). View channel type is View|Ptp. [6/10/10 22:20:34:650 BRT] 00000017 CoordinatorIm I HMGR0228I: The Coordinator is not an Active Coordinator for core group DefaultCoreGroup. [6/10/10 22:20:34:889 BRT] 00000017 CoordinatorIm I HMGR0218I: A new core group view has been installed. The core group is DefaultCoreGroup. The view identier is (10:0.was1Cell01\was1Node01 \nodeagent). The number of members in the new view is 2. [6/10/10 22:20:34:895 BRT] 00000017 CoreGroupMemb I DCSV8050I: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: New view installed, identier (10:0.was1Cell01\was1Node01\nodeagent), view size is 2 (AV=2, CD=2, CN=2, DF=3) but application was still functioning then I shut down the nodeagent and as expected a few other DCS messages: [6/10/10 22:22:00:070 BRT] 00000014 RmmPtpGroup W DCSV1115W: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: Member was1Cell01\was1Node01\nodeagent connection was closed. Member will be removed from view. DCS connection status is View|Ptp, receiver closed. [6/10/10 22:22:00:068 BRT] 00000040 DiscoveryServ W DCSV1115W: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: Member was1Cell01\was1Node01\nodeagent connection was closed. Member will be removed from view. DCS connection status is Discovery|Ptp, receiver closed. [6/10/10 22:22:00:160 BRT] 00000017 RoleViewLeade I DCSV8053I: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: View change in process. Excluded members are [was1Cell01\was1Node01\nodeagent]. [6/10/10 22:22:00:185 BRT] 00000014 VSyncAlgo1 I DCSV2004I: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: View synchronization completed successfully. The View Identier is (10:0.was1Cell01\was1Node01\nodeagent). The internal details are None. [6/10/10 22:22:00:201 BRT] 00000017 ViewReceiver I DCSV1033I: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: Conrmed all new view members in view identier (11:0.was1Cell01\was1Node01\server1). View channel type is View|Ptp. [6/10/10 22:22:00:220 BRT] 00000017 CoordinatorIm I HMGR0218I: A new core group view has been installed. The core group is DefaultCoreGroup. The view identier is (11:0.was1Cell01\was1Node01 \server1). The number of members in the new view is 1. [6/10/10 22:22:00:270 BRT] 00000017 CoreGroupMemb I DCSV8050I: DCS Stack DefaultCoreGroup at Member was1Cell01\was1Node01\server1: New view installed, identier (11:0.was1Cell01\was1Node01\server1), view size is 1 (AV=1, CD=1, CN=1, DF=3) [6/10/10 22:22:00:751 BRT] 00000017 CoordinatorIm I HMGR0206I: The Coordinator is an Active Coordinator for core group DefaultCoreGroup. But application was still functioning as you and David pointed. Then I tried another test. As you both mentioned that dmgr and node serve only for administration and synchronization of conguration changes I tried bringing up the server on the command line with both dmgr and nodeagent down and surprisingly it did not work. As result of the startServer command it said: Server launched but failed

8 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

initialization and over SystemOut.log I could see: [6/10/10 22:23:48:749 BRT] 0000000a UserManagemen I CWWIM6001I Waiting for notication that the server has nished starting. [6/10/10 22:23:48:800 BRT] 0000000a ThreadPoolMgr W WSVR0626W: The ThreadPool seing on the ObjectRequestBroker service is deprecated. [6/10/10 22:23:48:830 BRT] 0000000a SSLComponentI I CWPKI0003I: SSL service is starting [6/10/10 22:23:48:842 BRT] 0000000a SSLComponentI I CWPKI0004I: SSL service started successfully [6/10/10 22:23:49:086 BRT] 0000000a SASRas A JSAS0006I: Security connection interceptor initialized. [6/10/10 22:23:49:128 BRT] 0000000a SASRas A JSAS0001I: Security conguration initialized. [6/10/10 22:23:49:140 BRT] 0000000a SASRas A JSAS0003I: Authentication mechanism: LTPA [6/10/10 22:23:49:142 BRT] 0000000a SASRas A JSAS0004I: Principal name: defaultWIMFileBasedRealm/ [6/10/10 22:23:50:735 BRT] 0000000a SASRas A JSAS0007I: Client request interceptor registered. [6/10/10 22:23:50:795 BRT] 0000000a SASRas A JSAS0008I: Server request interceptor registered. [6/10/10 22:23:50:816 BRT] 0000000a SecurityCompo A JSAS0009I: IOR interceptor registered. [6/10/10 22:23:51:699 BRT] 0000000a ServiceLogger I com.ibm.ws.dc.IncidentStreamImpl open FFDC0009I: FFDC opened incident stream le /home/rafaelri/IBM/WebSphere/AppServer/proles /AppSrv01/logs/dc/server1_7d427d42_10.06.10_22.23.51_0.txt [6/10/10 22:23:51:889 BRT] 0000000a ServiceLogger I com.ibm.ws.dc.IncidentStreamImpl resetIncidentStream FFDC0010I: FFDC closed incident stream le /home/rafaelri/IBM/WebSphere /AppServer/proles/AppSrv01/logs/dc/server1_7d427d42_10.06.10_22.23.51_0.txt [6/10/10 22:23:57:129 BRT] 0000000a StartUpServic I STUP0013I: The Startup Beans service has stopped. [6/10/10 22:23:57:149 BRT] 0000000a SchedulerServ I SCHD0040I: The Scheduler Service is stopping. [6/10/10 22:23:57:171 BRT] 0000000a SchedulerServ I SCHD0002I: The Scheduler Service has stopped. [6/10/10 22:23:57:228 BRT] 0000000a AppProleCom I ACIN0009I: The application proling service is stopping. [6/10/10 22:23:57:231 BRT] 0000000a ActivitySessi I WACS0049I: The ActivitySession service is stopping. [6/10/10 22:23:57:430 BRT] 0000000a CGBridgeServi I CWRCB0103I: The core group bridge service has stopped. [6/10/10 22:23:57:570 BRT] 0000000a WsServerImpl E WSVR0009E: Error occurred during startup META-INF/ws-server-components.xml [6/10/10 22:23:57:738 BRT] 0000000a WsServerImpl E WSVR0009E: Error occurred during startup com.ibm.ws.exception.RuntimeError: com.ibm.ws.exception.RuntimeError: com.ibm.ejs.EJSException: Could not register with Location Service Daemon, which could only reside in the NodeAgent. Make sure the NodeAgent for this node is up an running.; nested exception is: org.omg.CORBA.ORBPackage.InvalidName: LocationService:org.omg.CORBA.TRANSIENT: java.net.ConnectException: Connection refused:host=was1,port=9101 vmcid: IBM minor code: E02 completed: No at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:198) at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:139) at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:460) at com.ibm.ws.runtime.WsServer.main(WsServer.java:59) at sun.reect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reect.Method.invoke(Method.java:615) at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:183) at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:90) at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:72) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) at sun.reect.NativeMethodAccessorImpl.invoke0(Native Method)

9 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

at sun.reect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reect.Method.invoke(Method.java:615) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:245) at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:73) Caused by: com.ibm.ws.exception.RuntimeError: com.ibm.ejs.EJSException: Could not register with Location Service Daemon, which could only reside in the NodeAgent. Make sure the NodeAgent for this node is up an running.; nested exception is: org.omg.CORBA.ORBPackage.InvalidName: LocationService:org.omg.CORBA.TRANSIENT: java.net.ConnectException: Connection refused:host=was1,port=9101 vmcid: IBM minor code: E02 completed: No at com.ibm.ws.runtime.component.ORBImpl.start(ORBImpl.java:382) at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:977) at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:673) at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:485) at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:191) 22 more Caused by: com.ibm.ejs.EJSException: Could not register with Location Service Daemon, which could only reside in the NodeAgent. Make sure the NodeAgent for this node is up an running.; nested exception is: org.omg.CORBA.ORBPackage.InvalidName: LocationService:org.omg.CORBA.TRANSIENT: java.net.ConnectException: Connection refused:host=was1,port=9101 vmcid: IBM minor code: E02 completed: No at com.ibm.ejs.oa.LocationService.register(LocationService.java:150) at com.ibm.ejs.oa.EJSServerORBImpl.(EJSServerORBImpl.java:164) at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:55) at com.ibm.ws.runtime.component.ORBImpl.start(ORBImpl.java:379) 26 more Caused by: org.omg.CORBA.ORBPackage.InvalidName: LocationService:org.omg.CORBA.TRANSIENT: java.net.ConnectException: Connection refused:host=was1,port=9101 vmcid: IBM minor code: E02 completed: No at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:220) at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4150) at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:670) at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3184) at com.ibm.ejs.oa.LocationService.register(LocationService.java:106) 29 more Caused by: org.omg.CORBA.TRANSIENT: java.net.ConnectException: Connection refused:host=was1,port=9101 vmcid: IBM minor code: E02 completed: No at com.ibm.CORBA.transport.TransportConnectionBase.connect(TransportConnectionBase.java:425) at com.ibm.ws.orbimpl.transport.WSTransport.getConnection(WSTransport.java:423) at com.ibm.CORBA.transport.TransportBase.getConnection(TransportBase.java:163) at com.ibm.rmi.iiop.TransportManager.get(TransportManager.java:93) at com.ibm.rmi.iiop.GIOPImpl.getConnection(GIOPImpl.java:115) at com.ibm.rmi.iiop.GIOPImpl.locate(GIOPImpl.java:189) at com.ibm.rmi.corba.Corbaloc.locateUsingINS(Corbaloc.java:307) at com.ibm.rmi.corba.Corbaloc.resolve(Corbaloc.java:378) at com.ibm.rmi.corba.ORB.objectURLToObject(ORB.java:3680) at com.ibm.CORBA.iiop.ORB.objectURLToObject(ORB.java:3227)

10 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:159) 33 more Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:372) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:233) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:220) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:378) at java.net.Socket.connect(Socket.java:536) at java.net.Socket.connect(Socket.java:486) at java.net.Socket.(Socket.java:394) at java.net.Socket.(Socket.java:207) at com.ibm.ws.orbimpl.transport.WSTCPTransportConnection.createSocket(WSTCPTransportConnection.java:308) at com.ibm.CORBA.transport.TransportConnectionBase.connect(TransportConnectionBase.java:356) 43 more The mentioned FFDC had the same ConnectException error message. I sincerely guess that what we saw has anything to do with this:HAManager: Design discussion, Why you need two JVMs to start an ND cell best regards, Rafael Ribeiro Reply 30 rafaelri June 11, 2010 at 2:02 am I forgot to say: I am running 6.1.0.0 (no FP applied since it would take me too much time to download FP applier and FPs only for such a test). I am trying now to start nodeagent then server (I guess itll work) and then shut down later (but itll also work since I did a similar test as I mentioned on previous comment). Ill also try to contact the friend that complained about misfunctioning bus when DMGR is down and Ill also check at work if authentication (VMM and ActiveDirectory integration) works while DMGR is down cause I guess this is another thing that fails when dmgr is down but that is only a suspicion. As I suspected nodeagent needs to be up when server is going up, so it isnt only for conguration as we suspected it seems to play some role upon server startup even if server is brought up through command line. best regards, Rafael Ribeiro 31 rafaelri July 11, 2010 at 12:29 am As a complement I am still trying to gure out the issue a colleague faced with dmgr down but as the slide 8 suggests on hp://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic= /com.ibm.iea.was_v6/was/6.0/WLM-HA/WASv6_HA_Overview/player.html node agent needs to be running for HA. 32 rafaelri July 11, 2010 at 1:07 am This RedBook explains beer the node agent dependency: hp://www.redbooks.ibm.com/redbooks /pdfs/sg246688.pdf on page 13. And a er reading a lot I agree that the dmgr dependency my colleague saw was probably a misconguration somewhere or he was performing an external connection to a JMS queue or sth and he was probably specifying dmgr bootstrap port.
11 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

12. 33 rafaelri July 11, 2010 at 1:33 am Indeed I guess he probably did what is described on page 67 of the RedBook pdf mentioned above Reply 13. 34 sombriks July 16, 2010 at 3:12 am excellent post! actually some of you can have issues with websphere variables existing on diferent scopes. pay aention if any variable are created on more than one scope and also make sure that your environment are really synchronized. these days ive found an issue with oracle oci driver running under a websphere 6.1 cluster (2 hp-ux machines, 2 node/proles on each and one also having the Dmgr), if i publish my ear under node a or node b, it just works ne, but publish under the cluster (which have nodes from both physical servers) the app fails to dene the OracleDriver to the app; maybe some node dont have the propely conguration, but if anyone already tried (and hopefully) solved the cluster issue, contribute here with that amazing post, Reply 14. 35 rafaelri July 16, 2010 at 7:12 pm Hi Sombriks! you only need to congure the oracle driver on the cluster just the same way youd congure it on a server scope or on a node scope a er you have a cluster youll soon notice that you have a cluster scope where you can install jdbc drivers, jca drivers, specify websphere variables, etc and there is even a well dened order for the precedence of those variables give this a try (dene the jdbc provider for the cluster and youll notice that it automagically denes the classpath for the jdbc driver at the cluster scope) and please let me know if this worked regards, Rafael Ribeiro Reply 15. 36 Abhishek@UST Global August 6, 2010 at 8:25 pm Fantastic post. Many thanks for your eorts. The pics are helpful and really helps the blog. Thanks, Abhishek Reply 16. 37 sombriks August 20, 2010 at 5:12 pm Hey rafaelri! indeed it works, and follows the very same rules for any other scoped resource, i.e. if the same driver is created on a more specic scope that one will override the cell-dened value. Reply 17. 38 shwetha November 10, 2010 at 5:09 am Nice post.. MAny many thanks the pics were really helpful.
12 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

Reply 18. 39 Hareesh November 23, 2010 at 12:53 pm Hi, Nice post. Thanks. How about proles as a candidate to t into the picture? Where would that t in? Reply 19. 40 G.B.D.J. December 8, 2010 at 12:26 pm Regarding your answer to Garry: Garry, Are you saying IBM documentation is wrong? This Redbook on PDF page 35 is rather clear: The Node Agent must be running when starting the application server on that node so the application server can register with the Location Service Daemon (LSD). In WebSphere V6 the LSD is HAManager enabled therefore you only need one running Node Agent in the cluster to provide the LSD when the application servers are started on the node.. For me, the documentation is saying that the node agent must be running to start the applications servers, but it says nothing about turning o the node agents a er the servers started. I do not know if this is a stable environment or if it happens commonly, but I have seen servers running and no node agent process at all. Reply 41 rafaelri December 8, 2010 at 9:05 pm In fact thats the point: nodeagent plays a role on server startup either it is from command line or from web based admin. What I tried to emphasize is that it isnt bound only to server administration. Reply 20. 42 senthil December 13, 2010 at 4:10 pm Realy good website for WEBSPHERE admin Reply 21. 43 Sreeni December 24, 2010 at 10:06 am Hi Rafael, The image description is very easy to understand the Websphere basic concepts of Node, Cell and Cluster etc. Thanks for the same. Can you please clarify the link between Node, OS (e.g. Windows) and physical hardware machines (e.g. x86)? Regards, Sreeni Reply 44 rafaelri December 24, 2010 at 12:35 pm The node is a virtual unit built by the node agent and zero (although it does not make sense it is still a node) or multiple servers and it is hardware independent, so you can have a cell with nodes from multiple architectures. You can even have multiple nodes from multiple cells on a single server (it makes

13 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

sense, for example, for hardware consolidation). Reply 22. 45 Sreeni December 28, 2010 at 8:16 am Thanks for your quick & prompt reply. Regards, Sreeni Reply 23. 46 papu February 23, 2011 at 12:19 pm Hi Rafael I am new to WAS and am trying to setup a cluster with 4 members [App servers] (2 from node on machine1 and 2 from node on machine2). What I dont understand is whether adding a cluster member is like adding an App server to the cluster ? This is what I did so far : 1.installed a cell prole on machine1 (So i have a dmgr on a node and another node with an appserver federated to the cell) 2. installed an App server prole on machine2 and federated the node it belongs to to cell on machine1. Now do I just go ahead and create the cluster via Dmgr and add 4 members ? or do i have to install more 1 more app server proles each with existing nodes on both machines ? thanks, Reply 47 rafaelri February 24, 2011 at 1:21 am Hi Papu! Exactly: the cluster member is simply an AppServer added as a cluster member. But if you want to have any fault tolerance youll have to create a node inside machine1 as well federated to the cell and add 2 servers on this node and 2 on the node on machine2. Let me know if you still have questions. regards, Rafael Ribeiro Reply 24. 48 FedrBodr May 6, 2011 at 6:08 am Hello Rafael! I am looking for a solution and found your blog, maybe you can help me? pleas. How i can get all Clusters members information (all servers) like host and etc? I need run diagnostics so ware environment on all servers(like dir, mqQueue) and then gather all information at one server and show in web interface. I shall be very glad to any advice or direction for the study Reply

14 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

49 FedrBodr May 6, 2011 at 6:47 am And I forgot not by AdminCong.. Reply 50 rafaelri May 21, 2011 at 1:03 pm when you say not by admincong you mean only invoking the binary or even importing the classes and invoking them directly inside your application? I am asking cause I think thats the best approach you have you are almost isolated to protocol changes from IBM they usually dont change the API that much in this way your application is prey safe from WAS changes 25. 51 james May 20, 2011 at 3:41 pm We have an Business application developed in .ear , this application,now the users want to implement in other country the application with other conguration.The applications are in the same server.There isnt other server.I have created an new cell, because i need to isolate the two applications. if this correct? I have used dierent cell if it is true,can be for example dierent jvm argument,dierent directory to deploy the ear? If i create an new prole with action -addprole, when I deploy , deploy all proles , old and new one Reply 52 rafaelri May 21, 2011 at 1:01 pm Yes, this is correct but with a minor clarication to your explanation: youll have dierent servers from WebSphere perspective. You may have the same PHYSICAL server but for WebSphere since it is a dierent cell youll end up with a dierent server but you may have a single cell and dierent servers create another server instance and specify jvm options (that you should try to avoid or at least only for JVM parameters, never for application parameters), libraries, etc Reply 26. 53 james May 24, 2011 at 8:34 pm when is AddProle action useful ? Can you give a brief example please? Reply 27. 54 nani August 5, 2011 at 10:54 am i want to know vertical clustering in websphere 7.0 Reply 55 rafaelri August 5, 2011 at 11:38 am hp://www.google.com/search?q=vertical+clustering+in+websphere+7.0 Reply 28. 56 WAS-WLM@IBM September 16, 2011 at 9:46 pm Couple of comments to make on some of the various above posts; #7 rafaelri

15 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

July 16,2009 WebSphere by itself does not do load balancing for web request between servers in a cluster This actually isnt true. Starting in v6.1 you can create a process called a WebSphere Proxy Server to act as a client for web requests. The WAS Proxy Server is actually supposed to be the strategic replacement for the Edge Product, most of the functionality that existed in Edge should also exist in the WAS Proxy Server. WAS Proxy is also, in a simplistic sense, extremely easy to congure for simple routing, really just paying aention to the virtual host aliases is all that should be needed. Because the WAS Proxy is a WAS process, all of the data about the applications can simply be pulled directly from the cluster members hosting those applications. There are also a variety of options for anity, and the capability for the WAS Proxy to route web requests to non-WAS processes (using Generic Clusters). If you are familiar with WebSphere EJB load balancing, the core of WAS Proxy functionality is prey much the same, with a few implementation details that are dierent. #8-11,24-31,39-40 in short: When do I need a deployment manager and a node agent As a preface for the various comments to come a er this, most of my answers are centric to WebSphere EJB/IIOP routing and HTTP routing using the WAS Proxy Server, there may be dierences in IHS/plug-in behaviors, as well as requirement dierences in other areas of WAS, such as administration. Im also only referencing v6+ behaviors, in part because v5 is now out of service and because v5 also has an entirely dierent set of needs (in short, just have the dmgr and NAs running). #10 The node agents are responsible for inter-node communications only. If I have een JVMs per node, all een will run, but they wont share any information when the node agent goes down. Depends what is dened as information. From a cong-le system sense this is probably correct. However, data can be shared through the HAManager component (v6+) between the application servers even without a deployment manager and a nodeagent. Although there probably arent too many scenarios in which this would really be useful. #11 The Node Agent must be running when starting the application server on that node so the application server can register with the Location Service Daemon (LSD) This is correct, but you can congure the application server to not require the nodeagent by specifying the following property as part of the startServer command; -Dcom.ibm.websphere.management.registerServerIORWithLSD=false along with a few other changes. More info here: hp://publib.boulder.ibm.com/infocenter/wasinfo /v7r0/index.jsp?topic=%2Fcom.ibm.websphere.nd.multiplatform.doc%2Finfo%2Fae%2Fae%2Fxrun_jvm.html #24 The deployment manager is only needed for centralised administration & management of a WAS cell. Not for name server or any run-time service. To start servers on the nodes, the node agent must be running, but the deployment manager doesnt need to be running. Started application servers on a node no longer require the node agent. They can continue to function correctly with all name services, session management & fail-over capability without node agent or deployment manager. This is not entirely correct (you lose some failover capabilities with no nodeagents), but to really answer the root question of when do I need a NA or a Dmgr, lets discuss what capabilities are covered by each and what you may lose if they are not running.

16 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

Deployment Manager As mentioned previously, primarily for administration, but does own some additional capabilities with respect to EJB/IIOP routing, specically the PreferLocal seings for all congured clusters and the weight tables for all of the members in all of the clusters. If the deployment manager is not running, the PreferLocal seing will not be honored, the default of false will be used. Changes to member weights will be ignored and all routing will take place as if the members had a weight of 2. In addition to losing the admin console, youd also lose the ability to use the cluster mbean to invoke specic administrative actions on the clusters and cluster members, such as explicitly marking a server unavailable so that no requests will be routed to it. All of the Cluster-based MBeans reside on the deployment manager, so it must be running to use any of that functionality. Apart from that, you dont lose much from a request routing perspective by the deployment manager being shut down. Node Agents This is a lile more tricky. Lets assume default, out of the box behavior. The nodeagent has 2 primary uses with respect to routing, resolving indirect IORs into directIORs when a client is initially aempting to route to a Clustered EJB, and as a failover mechanism for EJB requests. This article is one of the beer ones at explaining the indirect/direct path; hp://www.ibm.com/developerworks/websphere/techjournal/0807_pape/0807_pape.html In short, the resolve from an indirectIOR to a directIOR is the reason a nodeagent must be running when the client rst aempts to route to the cluster. A er the resolve has occurred, the nodeagents can be shut down and routing can still function. The other main use of the nodeagent process with respect to EJB/IIOP routing is as a failover mechanism by the WAS routing code (WLM Workload Management). In the event, for whatever reason, the client can no longer successfully reach a cluster member, the client will route the request to one of the nodeagents in the target cell as a failover mechanism. Because, by default, the cluster members must register with the nodeagent on startup, the nodeagents will always have the latest data about the cluster members and can update the client if its information has become stale or unusable. An example of this would be if a client process in CellA routes a number of requests to CellB:ClusterA, stops routing requests, all of the cluster members in CellB:ClusterA are shut down and restarted, and then the client process in CellA tries to route again. When the cluster members are shut down and restarted, they will come up on dierent dynamic ports, so the port information the client is holding onto is currently stale. It will aempt to route requests using the old data, get connection refused exceptions on each aempt, and when it runs out of members to try, the request will go to the nodeagent. The nodeagent will have the most recent port data, update the client, and the client can then resume routing successfully (all of this will be transparent to a user, they wouldnt even know the client had to fail over to the nodeagent). If no nodeagents happened to be running, the client would not be able to get the new port information and would continuously fail in its aempts to route. So in summary, you need a Nodeagent to start up application servers, to resolve the initial request to a cluster, and the nodeagent can be useful in some failover scenarios. However, this all assumes default cong. I dont want to muddy the waters by bringing up thin client vs thick client, cross-cell vs. single-cell, multiple coregroups and core group bridges, static ORB ports and static EJB routing. The above is a general good guide, but you may run into slightly dierent behaviors or requirements once you start conguring your topology outside of what would be considered the default, or using other technologies such as SIB/JMS, SIP, and some of the stack products on top of WAS, so there really isnt one answer, its always going to be a it depends Reply 57 rafaelri September 17, 2011 at 12:46 am

17 of 18

9/27/2012 6:43 PM

WebSphere Concepts: Cell, Node, Cluster, Server IT Developer World

http://itdevworld.wordpress.com/2009/05/03/websphere-concepts-cell-n...

Tks a lot for the complete and deeply explained reply. I wouldnt expect less from an IBMer. Regards, Rafael Reply 29. 58 Devendra Koli November 2, 2011 at 6:32 am Thanks for diagrammatic explanation Reply 30. 59 Sudhindra November 10, 2011 at 7:58 pm I am WebSphere Admin newbie. Thanks for the informative discussion. Reply 31. 60 Kingsly December 15, 2011 at 8:15 pm Excellent succint post on Websphere cell, node, server, cluster concepts. I wonder if it is possible to have one deployment manager shared among multiple cells? Reply 32. 61 Tom Purl January 9, 2012 at 4:36 pm Great explanation. This is *much* beer than the IBM documentation that Ive seen. Thanks! Reply 33. 62 Kingsly January 18, 2012 at 11:13 pm rafaelri Please clarify if it Is possible to have one deployment manager shared among multiple cells? Reply

Blog at WordPress.com. | Theme: Redoable Lite by Dean J Robinson. Follow

Follow IT Developer World


Powered by WordPress.com

18 of 18

9/27/2012 6:43 PM

Das könnte Ihnen auch gefallen