Hi,
Many times we face Security related issues/SSL Handshake related issues/ Domain Salt Not found/ Node Manager Unreachable….. kind of issues after creating a Domain which spreads across many physical boxes…so This Post demonstrates that what all things we should always take care …while creating Clustered Setup…or Remote Box Managed Servers….
Step1). Install WebLogic in Box-A and Box-B in the same directory structure (Directory structure/Weblogic Installation path Must be same as the Installation Path in the AdminServer Box to Avoid Many issues…Please refer to : http://forums.oracle.com/forums/thread.jspa?messageID=4243582).
Box-A Suppose IP Address is : 1.1.1.1
Box-B Suppose IP Address is : 2.2.2.2
Step2). Create a Domain (MyDomainOne) in Box-A then Start the AdminServer (suppose port is 7001 for Admin) of that newly created Domain.
Step3). Open Admin Console http://1.1.1.1:7001/console
Step4). Create 2 Managed Servers MS1 And MS2.
MS1 Listen Port: 7003
MS1 Listen Address: 1.1.1.1 (Example address you can assign your actual address of Box-A)
MS2 Listen Port: 7003
MS2 Listen Address: 2.2.2.2 (Example address you can assign your actual address of Box-B)
Step5). From Admin Console Create A machine:
Machine-A
Nodemanager Listen Address: 1.1.1.1
Nodemanager ListenPort: 5556
Machine-B
Nodemanager Listen Address: 2.2.2.2
Nodemanager ListenPort: 5556
Step6). Now start Nodemanager in Box-A then see in the Admin Console
Home –>Summary of Machines –>Machine-A –>Monitoring
Make sure that the Nodemanager Status is : Reachable
Steps For BOX-B (Second Managed Server Box)
Step7). Paste the Domain from Box-A to Box-B in the Same Location where it is available in Box-A (Location of Domain Directory should be identical in Box-A and Box-B)
Suppose the location of domain was : “/opt/apps/bea103/user_projects/MyDomainOne” , then in All the Managed Server Boxes you should have the same directory structure.
Better if you use “Pack/Unpack” weblogic utility to do this. By doing this you can ensure that you will never get invalid (domain salt file not found) Or Many Security & SSL Handshake related errors kind of error while starting your ManagedServer remotely. (for detail of Pack/Unpack commands) http://download.oracle.com/docs/cd/E13179_01/common/docs92/pack/commands.html#wp1068441
Step8). Open a Shell/command prompt in Box-B and then run setWLSEnv.sh/setWLSEnv.cmd
Then Enroll the Nodemanager using WLST command…
http://download-llnw.oracle.com/docs/cd/E15051_01/wls/docs103/nodemgr/nodemgr_config.html#wp1100844
Syntax: nmEnroll([domainDir], [nmHome])
. java weblogic.WLST connect('weblogic','weblogic','t3://1.1.1.1:7001') nmEnroll('/opt/apps/bea103/user_projects/MyDomainOne','/opt/apps/bea103/wlserver_10.3/common/nodemager') .
Above command will Enroll the Nodemanager of Box-B in Domain (MyDomainOne) created in Box-A
Step9). Start Nodemanager in Box-B
Step10). Login to AdminConsole of Box-A and then check that the Machine-2 Nodemanager is showing “reachable” or “incative”…Ideally Now it should be ‘Reachable’
Step11). Login to AdminConsole and Now Create a Cluster and add these both Managed Servers In that Cluster.
Step12). Now start Both Managed Servers through AdminConsole.
.
.
Thanks
Jay SenSharma
April 30th, 2010 on 7:19 pm
Hi Jay,
Your blog is awesome buddy, I could find all the information that i need.
have one more Q for you.
I enabled domain wide admin port, when all the managed server instances were down.
According to this: http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13952/taskhelp/domainconfig/EnableTheDomainwideAdministrationPort.html . “You can do this by specifying the following option on the command line when starting the Managed Server:” can you please clarify on this line in the above link. i tried to add -Dweblogic.management.security in the java_options of ./startManagedweblogic.sh, but we are using nodemanager to start the instances.I am hitting with:
do i have to install self signed certs on all the instances, to get rid of security issues? i am in QA actually.
April 30th, 2010 on 10:48 pm
Hi Mahesh,
As you have mentioned that you want to apply “-Dweblogic.management.security” option to your Managed Server which is running using NodeManager…then Please follow the Link: http://jaysensharma.wordpress.com/2010/03/26/nodemanager-based-managedservers-setting-mem_args/
In the Link …same place where you can assgn the Heap Size to your Servers you can assign this Flag as well.
I m just curious about the Exception which you are getting… What StackTrace are you getting while starting your ManagedServers..? Hope After applying the JAVA_OPTION from AdminConsolem to the Managed Server will start working fine…Just in case if it doesnt work…then Please post the Complete StackTrace which you get.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
May 1st, 2010 on 2:28 am
hi jay, here is complete stack trace from OUT,
May 3rd, 2010 on 6:59 pm
hi jay,
I tried to enable the domain wide admin port, after enabling SSL port on all the managed servers in the cluster.
once i bounced admin server, while navigating to configurations in the admin console, i can see these errors under all the tabs.
please help
Error opening /jsp/core/server/ServersConfigTable.jsp.
The source of this error is:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.beehive.netui.tags.template.Template
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:333)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:502)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429)
at org.apache.beehive.netui.pageflow.scoping.internal.ScopedRequestDispatcher.include(ScopedRequestDispatcher.java:119)
at com.bea.netuix.servlets.controls.content.JspContent.beginRender(JspContent.java:552)
at com.bea.netuix.servlets.controls.content.NetuiContent.beginRender(NetuiContent.java:365)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:485)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326)
at com.bea.netuix.nf.UIControl.render(UIControl.java:582)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146)
at com.bea.netuix.servlets.jsp.taglib.skeleton.Child.doTag(Child.java:63)
at jsp_servlet._framework._skeletons._wlsconsole.__nolayout._jspService(__nolayout.java:119)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:502)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429)
at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130)
at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72)
at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326)
at com.bea.netuix.nf.UIControl.render(UIControl.java:582)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146)
at com.bea.netuix.servlets.jsp.taglib.skeleton.Child.doTag(Child.java:63)
at jsp_servlet._framework._skeletons._wlsconsole.__nolayout._jspService(__nolayout.java:119)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:502)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429)
at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130)
at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72)
at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326)
at com.bea.netuix.nf.UIControl.render(UIControl.java:582)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146)
at com.bea.netuix.servlets.jsp.taglib.skeleton.Child.doTag(Child.java:63)
at jsp_servlet._framework._skeletons._wlsconsole.__twocollayout._jspService(__twocollayout.java:205)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:502)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429)
at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130)
at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72)
at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:208)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:162)
at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388)
at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258)
at com.bea.netuix.servlets.manager.UIServlet.doGet(UIServlet.java:211)
at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:196)
at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.bea.console.utils.MBeanUtilsInitSingleFileServlet.service(MBeanUtilsInitSingleFileServlet.java:47)
at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.beehive.netui.tags.template.Template
at jsp_servlet._jsp._core._server.__serversconfigtable._jspService(__serversconfigtable.java:124)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
… 126 more
Caused by:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.beehive.netui.tags.template.Template
at jsp_servlet._jsp._core._server.__serversconfigtable._jspService(__serversconfigtable.java:124)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:502)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429)
at org.apache.beehive.netui.pageflow.scoping.internal.ScopedRequestDispatcher.include(ScopedRequestDispatcher.java:119)
at com.bea.netuix.servlets.controls.content.JspContent.beginRender(JspContent.java:552)
at com.bea.netuix.servlets.controls.content.NetuiContent.beginRender(NetuiContent.java:365)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:485)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326)
at com.bea.netuix.nf.UIControl.render(UIControl.java:582)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146)
at com.bea.netuix.servlets.jsp.taglib.skeleton.Child.doTag(Child.java:63)
at jsp_servlet._framework._skeletons._wlsconsole.__nolayout._jspService(__nolayout.java:119)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:502)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429)
at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130)
at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72)
at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326)
at com.bea.netuix.nf.UIControl.render(UIControl.java:582)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146)
at com.bea.netuix.servlets.jsp.taglib.skeleton.Child.doTag(Child.java:63)
at jsp_servlet._framework._skeletons._wlsconsole.__nolayout._jspService(__nolayout.java:119)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:502)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429)
at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130)
at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72)
at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326)
at com.bea.netuix.nf.UIControl.render(UIControl.java:582)
at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486)
at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146)
at com.bea.netuix.servlets.jsp.taglib.skeleton.Child.doTag(Child.java:63)
at jsp_servlet._framework._skeletons._wlsconsole.__twocollayout._jspService(__twocollayout.java:205)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:502)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429)
at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130)
at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72)
at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65)
at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:208)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:162)
at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388)
at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258)
at com.bea.netuix.servlets.manager.UIServlet.doGet(UIServlet.java:211)
at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:196)
at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.bea.console.utils.MBeanUtilsInitSingleFileServlet.service(MBeanUtilsInitSingleFileServlet.java:47)
at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
May 3rd, 2010 on 8:43 pm
Hi Mahesh,
If you are using WLS10.3 or above then Please Put the following Jar file Inside your “lib”directory
<BEA_HOME>modulesorg.apache.beehive_1.0.2.2apache-beehive-svn-snapshotlibnetuibeehive-netui-tags.jar
If you are using WLS10.0 then Please Put the following Jar file Inside your “lib”directory
<BEA_HOME>toolseclipse_pkgs1.0pkgseclipsepluginscom.bea.workshop.upgrade81.thirdparty_1.0.1libbeehive-netui-tags.jar
Then restart the Server…
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
May 14th, 2010 on 6:39 pm
seriously man, i love you jay – great work on this website and serious weblogic knowledge is impressive!
May 28th, 2010 on 7:03 pm
Hi Jay,
I am new to weblogic and u r blog is very useful.What is the use of enabling domainwide admin port?
Thanks
Suresh
May 28th, 2010 on 7:57 pm
Hi Suresh,
There are many advantages of using AdminPort…
Enabling the administration port prevents the masses from accessing your console while giving you access to the same. It’s the best of both worlds. With the administration port enabled:
1). The console is only accessible over a non-standard port (which should not be available from outside your firewall)
2). You have to use SSL
3). You get a dedicated administration listen thread
4). Administrative requests over any port other than the admin port are rejected.
The most important feature is…. If you enable AdminPort then all the Communication using AdminConsole will happen on HTTPS port which is most secure.
Even u can deploy your applications in AdminMode first just to test it in production mode…only admincan access those applications which are deployed on AdminMode…so Admin Can use Administration Port to test those applications first before making it publically available in Production Environments.
to know more about AdminMode Deployment please refer to: http://download.oracle.com/docs/cd/E13222_01/wls/docs90/deployment/wldeployer.html#1007077
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
June 24th, 2010 on 2:43 am
Jay,
When I use pack weblogic utilites, the whole domain structure is getting copied into the template. and when i unpack it in managed server box, the whole domain is getting copied, and when i nmenroll the nodemanager with the domain on machine A, i am hitting with NMconnectexception (in the console), but on std out, it says successfully enrolled this nodemanager with domain on machine A. also, logs of managed server on box B are logging in machine A.
Do I have to delete some folders after unpacking/untarring in machine B ?
June 25th, 2010 on 7:38 am
Hi Maheshwar,
I think that we need to check the NodeManager Log of the same timestamp and AdminServer log of the same time stamp. Many times it happens if “nodemanager.properties” file has SecureListener=true (try to make it ‘false’) as well as in AdminConsole also please choose the ‘Plain’ option for your Machine(NodeManager) rather than choosing ‘SSL’
Home –>Summary of Machines –> <MachineName>–>Configuration(Tab) –>Nodemanager(Sub Tab)
Chooose type=Plain
We need not to delete any files after Unpacking the Domain in a remote box. Enroll the NodeManager Again and then Restart the Nodemanager. Then check the status of NodeManager in admin Console …is it “Reachable” or not?
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
July 30th, 2010 on 7:29 pm
Hi Jay,
Is there any way to do horizontal clustering without using nodemanager.
July 30th, 2010 on 8:26 pm
Hi Suryadhart,
It is not mandatory to have the NodeManager for Horizontal Clustering. If you dont want to use NodeManager then do the following for Horizontal Clustering:
Step1). Create 2-3 Managed Servers from AdminConsole. Suppose 3 Managed Servers MS1,MS2,MS3 …which u want to run on 3 Different Physical Boxes.
Step2). Install WebLogic and JDK exactly same Identical Locations in the Managed Server Boxes as well… sothat the JAVA_HOME and WL_HOME and BEA_HOME directories will be same in all the Physical Boxes.
Step3). Now Use the “pack/unpack” BEA utility to make the domain zip. as described in Step7) in the following Post: http://middlewaremagic.com/weblogic/2010/04/28/weblogic-clustering-in-remote-boxes/
“pack” Utility u need to run in AdminServer Box to make the Zip of the Domain.
“Unpack” Utility u need to run on all the Managed Server Physical Box to Unzip the Domain….Exactly in the same Location….
It means <DOMAIN_HOME> Must be exactly same in all the Physical Boxes (this is necessary to avoid many issues)
Step4). Now Whenever u want to start the Managed Servers go inside the “<DOMAIN_HOME>bin” and then run the “startManagedWebLogic.sh” like folowing
Syntax:
startManagedWebLogic.sh <ManageServerName> <AdminServerURL> <AdminUserName> <AdminPassword>
Example:
startManagedWebLogic.sh MS1 t3://10.10.19.112:7001 weblogic weblogic
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
August 5th, 2010 on 6:54 pm
Thanks Jay. It’s working fine.
December 7th, 2010 on 4:52 am
Jay,
I have a question. The env is windows weblogic 9.2.2 in production
we have a Production Vm and 2 production Physical servers.
We want to keep the Admin Server in the VM, then have MS1 and MS2 on the physical servers respectively.
So, how do we achieve this ???
December 9th, 2010 on 12:12 am
Jay/Admin
Can you please help me with the above question ???
thanks in Advance
rakesh
December 9th, 2010 on 12:49 am
Hi Rakesh,
It doesnt matter whether you are running Your Servers on VM or in a Physical Box…the Steps will be exactly same as mentioned in the above post http://middlewaremagic.com/weblogic/?p=971
WebLogic Server requires a Valid IP Address and a Valid File System to run. Only you need to make sure that if you want to create a Cluster then There should be no issue Like No Multicast Issues…And Servers must be able to Ping each other at network level.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
December 10th, 2010 on 1:45 am
yeah, but the problem is that we need to have the admin server running in a different machine and the managed servers in 2 different machines.
So consider machines as M1, M2 and M3.
So Admin Server will be in M1, managed server MS1 will be in M2 and managed server M3 will be in M3, and we have to create a horizontal cluster for the managed servers across the machines. I can take care of that.
But the question is how to maintain the admin server in a different machine as above. Should i need to use pack and unpack commands ???
thanks Jay
Rakesh
December 10th, 2010 on 8:55 am
Hi Rakesh,
Step1). Create A Domain in M1 Machine….Automatically an Admin Server will be created as soon as the Domain is created in M1.
Step2). Configure MS1 and MS2 from AdminConsole.
Step3). Install WebLogic in M2 and M3 Boxes.
Step4). Once the Domain Configuration part is done …Just use “pack/unpack” utility to paste the Same Doamin in the M2 and M3 Boxes.
Step5). Enroll the NodeManager of M2 and M3 to the AdminServer using nmEnroll() WLST function.
Step6). Check in the AdminConsole whether the M2 and M3 Nodemenagers are reachable or not? If reachable then your Configuration is done Just start Managed Servers.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
December 11th, 2010 on 12:16 am
I should assign the MS1 and MS2 to M2 and M3 machines right Jay ???
is there a way that i can do it without node manager ???
December 11th, 2010 on 1:33 am
Hi Rakesh,
Yes, you must assign the MS1 to M2 Machine and Similarly MS2 Managed Server to M3 Machine, Because you want to achieve Server Migration. And Whole Server Migration is possible only with the Script Based NodeManager.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
January 14th, 2011 on 5:02 am
hello jay,
in Step 6) and step 9), starting the node managers, in windows we start the node managers as a service because while installing weblogic, we select run the node manager as a service.. So, they are always started and running as a service. So, is this fine, or should we not make the node manager run as a service while installing weblogic ???
thanks in advance
rakesh
January 14th, 2011 on 10:38 am
Hi Rakesh,
In most of the production environments in Windows, I have seen that Making NodeManager as a Windows Service is the Most Popular and reliable choice for the Middleware admins. So you are taking a right decision by making your NodeManager as a Windows Service, It even helps in ManagedServer Crash Recovery.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
January 18th, 2011 on 2:12 am
Hello jay,
in the above proess, in step 8) instead of entering setWLSEnv.cmd, i have set my domain’s mem-args to 1024 and 1024, so it is possible that i can go and run
setDomainEnv.cmd from the drive C:bea922user_projectsdomainsbase_domain5bin instead of running the default setWLSEnv.cmd from the C:bea922weblogic92serverbin folder ?????
Thanks in Advance
Rakesh
Thanks
Rakesh
January 18th, 2011 on 1:15 pm
Hi Rakesh,
Yes you can use “setDomainEnv.cmd” as well….
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
March 11th, 2011 on 11:26 pm
Hi Jay,
Your posts are very informative!! I’m a newbie to weblogic.
I have a questions – I have two domains DM1 & DM2 on the same physical box and each domain has its own MSI . How does the nodemanager know which MSI belong to which domain.
Thanks,
Jess
March 12th, 2011 on 12:05 am
Hi Jess,
If you will see the Step8). in the above article http://middlewaremagic.com/weblogic/?p=971 then you will find that every NodeManager should be enrolled to the AdminServer of a particular Domain.
NMEnroll actually ensures that which Domain’s AdminServers instruction it should listen. Once the NodeManager is Enrolled to a particular Domain …then your NodeManager can communicate to that Domain.
Also you will see a File created inside “C:bea103wlserver_10.3commonnodemanager” directory with name “nodemanager.domains” which has all the domains informations which are installed in that Box using Domain Configuration Wizard and you can enroll your NodeManager to these Domains as well. so that it can communicate. But we must have to Enroll the NodeManager to the Domains which we want as per requirement.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
March 16th, 2011 on 7:40 pm
Thanks Jay ! that helps 🙂
March 28th, 2011 on 4:48 am
Hi Jay, I have a problem.
I have 2 physical boxes, (1)192.101.1.104 (2)192.101.1.102
(1)I installed weblogic 10.3 on first box and created a domain there, and started admin server.
(2)I opened the admin console and created 2 managed servers (i)MS1 (ii)MS2 both are created under “192.101.1.104”. I created a machine (Machine-A) and assigned both the servers to that “Machine-A”. I started Node manager in “192.101.1.104” and I am able to see its reachable.
(3)Now I installed weblogic server(bare server no domain) in “192.101.1.102” and I installed as shown below
The following Products and JDKs will be installed:
————————————————–
WebLogic Platform 10.3.4.0
|_____WebLogic Server
| |_____Core Application Server
| |_____Configuration Wizard and Upgrade Framework
| |_____Web 2.0 HTTP Pub-Sub Server
| |_____WebLogic SCA
| |_____WebLogic JDBC Drivers
| |_____Third Party JDBC Drivers
| |_____WebLogic Server Clients
| |_____WebLogic Web Server Plugins
| |_____UDDI and Xquery Support
|_____JDKs
|_____SUN SDK 1.6.0_21
*Estimated size of installation: 914.1 MB
Since I want to use “192.101.1.102” for just for Managed servers.
(4)Now I used pack command in my “192.101.1.104” box to pack the domain so that I can use that packed domain in “192.101.1.102” box.
This is the syntax I used for my pack command in “192.101.1.104”
/home/staging/Oracle/Middleware/wlserver_10.3/common/bin/pack.sh -managed=true -domain=”/home/staging/Oracle/Middleware/user_projects/domains/myDomain” -template=”/home/staging/bea/user_templates/myDomain.jar” -template_name=”My Weblogic Domain” -log=/home/staging/bea/wlscldompack.log -log_priority=INFO
It created myDomain.jar file in “/home/staging/bea/user_templates” .
(5)I used “scp” command to transfer that file from “192.101.1.104” to “192.101.1.104”. so that I can unpack that jar file there.
It transferred perfectly with out flaw.
As I told my “192.101.1.102” machine is having bare weblogic server ,and no domain
under this below directory (both machines having same directory structure)
“/home/staging/Oracle/Middleware ”
the directory structure is (below directory structure before unpack)
drwxrwxrwx 8 d87231 d87231 4096 Mar 27 16:23 jdk160_21
drwxrwxrwx 2 d87231 d87231 4096 Mar 27 17:21 logs
drwxrwxrwx 7 d87231 d87231 36864 Mar 27 16:23 modules
-rwxrwxrwx 1 d87231 d87231 622 Mar 27 16:23 ocm.rsp
-rwxrwxrwx 1 d87231 d87231 73531 Mar 27 16:23 registry.dat
-rwxrwxrwx 1 d87231 d87231 2024 Mar 27 16:23 registry.xml
drwxrwxrwx 8 d87231 d87231 4096 Mar 27 16:23 utils
drwxrwxrwx 9 d87231 d87231 4096 Mar 27 16:23 wlserver_10.3
(6)Now used the below command to unpack.
/home/viswa/Oracle/Middleware/wlserver_10.3/common/bin/unpack.sh -template=/home/viswa/myDomain.jar -domain=/home/viswa/Oracle/Middleware/user_projects/domains/myDomain -log=wlscldomunpack.log -log_priority=INFO
Its unpacked with out having any problem.
I went to newly created directory structure
under “/home/staging/Oracle/Middleware ”
-rwxrwxrwx 1 d87231 d87231 282 Mar 27 17:29 domain-registry.xml
drwxrwxrwx 8 d87231 d87231 4096 Mar 27 16:23 jdk160_21
drwxrwxrwx 2 d87231 d87231 4096 Mar 27 17:21 logs
drwxrwxrwx 7 d87231 d87231 36864 Mar 27 16:23 modules
-rwxrwxrwx 1 d87231 d87231 622 Mar 27 16:23 ocm.rsp
-rwxrwxrwx 1 d87231 d87231 73531 Mar 27 16:23 registry.dat
-rwxrwxrwx 1 d87231 d87231 2024 Mar 27 16:23 registry.xml
drwxr-x— 3 d87231 d87231 4096 Mar 27 17:29 user_projects
drwxrwxrwx 8 d87231 d87231 4096 Mar 27 16:23 utils
drwxrwxrwx 9 d87231 d87231 4096 Mar 27 16:23 wlserver_10.3
I am seeing under “”/home/staging/Oracle/Middleware/user_projects/domains/myDomain/servers ”
[d87231@localhost servers]$ pwd
/home/staging/Oracle/Middleware/user_projects/domains/myDomain/servers
[d87231@localhost servers]$
[d87231@localhost servers]$ ls -l
total 8
drwxr-x— 3 d87231 d87231 4096 Mar 27 17:29 AdminServer
[d87231@localhost servers]$
Its not created any managed servers even though I used
“-managed=true” in my pack command.
can u please help me what went wrong in my above did work.
One more question, as when I am unpacking in “192.101.1.102” , it should ask me the new managed server names with new ports isn’t it?..why it didn’t asked me. I am not sure my question is correct or not.
My doubt is if the first box is having 2 managed servers with names MS1 and MS2 and with ports 7003, 7005, then the managed servers name should change in “192.101.1.102” box, correct me If I am wrong.Ports may not change since the IP is different.
Please show some light on this and please help me what mistake I am doing here.
Thanks a lot
viswa
March 28th, 2011 on 4:51 am
I am sorry my unpack command is this …not the above mentioned one ..sorry for the wrong typing.
/home/staging/Oracle/Middleware/wlserver_10.3/common/bin/unpack.sh -template=/home/staging/myDomain.jar -domain=/home/staging/Oracle/Middleware/user_projects/domains/myDomain -log=wlscldomunpack.log -log_priority=INFO
March 28th, 2011 on 5:00 am
This is the existing directory structure in “192.101.1.104”physical box.
/home/staging/Oracle/Middleware/user_projects/domains/myDomain/servers
[d87231@localhost servers]$ ls -l
total 32
drwxrwxrwx 7 d87231 d87231 4096 Mar 21 23:42 AdminServer
drwxr—– 3 d87231 d87231 4096 Mar 26 15:19 domain_bak
drwxrwxrwx 7 d87231 d87231 4096 Mar 26 15:08 MS1
drwxrwxrwx 7 d87231 d87231 4096 Mar 26 15:19 MS2
March 28th, 2011 on 3:00 pm
Hi Viswa,
Please refer to the following link :
http://forums.oracle.com/forums/thread.jspa?threadID=1065479&tstart=597
pack Utility (with managed=true)?
The following files and directories are not included in a managed server template by default: Applications and certain application initialization files , Temporary files that are created when you start a server, The servers directory. Files in the security directory that are created automatically when you create the domain, such as DefaultAuthenticatorInit.ldift and XACMLRoleMapperInit.ldift.
Note: The config.xml file of the domain from which you are creating your template must contain managed server definitions that specify the IP address and port for the target remote machine. The managed server template that you create from that domain can only be used, with the unpack command, on the specified remote machines to create managed server domain directories for the managed servers defined in the config.xml file.
-managed={true|false} : When this parameter is set to true, a managed server template is created that contains a minimal set of files, including SerializedSystemIni.dat, config.xml, and nm_password.properties. It also includes a domain.properties file that is unique to the managed server template.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
June 8th, 2011 on 11:39 pm
hi jay,
please tell me the difference between horizontal scaling and vertical scaling.
and i have one more question please tell me the difference between horizontal scaling and horizontal clustering
is both are same?
Thank you,
Hemanth Kumar
June 10th, 2011 on 1:08 pm
Hi Hemanth,
In very simple words:
================
Vertical Clustering
================
Box-1
======
MS-1
MS-2
MS-3
MS-4
================
Horizontal Clustering
================
Box-1
======
MS-1
MS-2
Box-2
=====
MS-3
MS-4
================
Vertical Clustering
================
In Vertical clustering means that all the Managed serves (i.e. MS-1, MS-2, MS-3 and MS4) are kept on the same BOX in a cluster,
NOTE: Not recommend in production environment, if the BOX itself goes down then all the servers would go down with it.
================
Horizontal Clustering
================
Here the servers are distributed on different boxes which are in a cluster , so the advantage is that if one box goes down then others can take over the requests.
For more information how to configure it you can go through the below link
Topic: WebLogic Clustering in Remote Boxes
http://middlewaremagic.com/weblogic/?p=971
Regards,
Ravish Mody
June 13th, 2011 on 6:30 pm
hi ,
Gr8 thanks for sharing the topic of “WebLogic Clustering in Remote Boxes”, i am also interested for “”WebLogic Clustering in same boxes”, it will be gr8 if you discussed the same of how to create clustering in same box(vertical cluster).
Regards,
Debasis Dana
June 13th, 2011 on 10:27 pm
Hi Debasis,
Steps are exactly same for Vertical Clustering as well….Just specify the same HostName / IP Address for All The WebLogic Servers as same…So the Cluster will run on the same physical box (Vertical Clustering)
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
June 14th, 2011 on 1:02 am
hi Ravish,
Thanks a lot for your valuable reply.
and i have one more question…what is horizontal scaling?
is scaling and clustering are equal?
June 14th, 2011 on 3:51 pm
Hi Hemanth,
Horizontal scaling can be referred to Horizontal clustering, say if 1 application/application server is getting lot of load then lets try to distribute the load by putting more servers or let that application be deployed on more clustered servers so that the load is been distributed and Horizontal means across different boxes/machines.
Hope that helps you.
Regards,
Ravish Mody
June 21st, 2011 on 4:03 pm
hi, I am creating a horizontal cluster,but getting while performing, below step(step8):
Step8). Open a Shell/command prompt in Box-B and then run setWLSEnv.sh/setWLSEnv.cmd
Then Enroll the Nodemanager using WLST command…
http://download-llnw.oracle.com/docs/cd/E15051_01/wls/docs103/nodemgr/nodemgr_config.html#wp1100844
Syntax: nmEnroll([domainDir], [nmHome])
java weblogic.WLST
connect(‘weblogic’,’weblogic’,’t3://1.1.1.1:7001′)
nmEnroll(‘/opt/apps/bea103/user_projects/MyDomainOne’,’/opt/apps/bea103/wlserver_10.3/common/nodemager’)
.
Above command will Enroll the Nodemanager of Box-B in Domain (MyDomainOne) created in Box-A
ERROR:
wls:/offline> connect(‘weblogic’,’weblogic_123′,’t3://10.75.169.34:8010′)
Connecting to t3://10.75.169.34:8010 with userid weblogic …
Traceback (innermost last):
File “”, line 1, in ?
File “”, line 22, in connect
File “”, line 618, in raiseWLSTException
WLSTException: Error occured while performing connect : Error getting the initia
l context. There is no server running at t3://10.75.169.34:8010
Use dumpStack() to view the full stacktrace
INFO:
i was trying to connect from BOX-B to BOX-A, whereas BOX -A contains Admin server and managed server. but i could ping BOX-A from BOX-B, build could not open URL of weblogic console from BOX-B(which is http://:8010/console)
please suggest.
Regard,
Debasis Dana
June 21st, 2011 on 4:12 pm
Hi Debasish,
make sure that your AdminServer is listening on the IP Address “10.75.169.34”, Because by defaulkt when we create a Domain if we don;t specify the AdminServer’s Listen Address then it is “localhost” means you can access the AdminConsole and admin Server only using “localhost” from the same Box and not remotely. So please check your “$DOMAIN_HOME/config/config.xml” to know if your server’s <listen-address$gt; is set properly or not. If not then Plese specifu correct IPAddres or Hostname from AdminConsole then restart your Admin Server on new Host name.
Also please do the following from remote box to know whether the network connectivity is happening on AdminServer’s port or not?
telnet 10.75.169.34 8010
NOTE: your WLST Exception StackTrace is incomplete so we cannot find much by looking at it….If the issue persist then please provide us the complete WLST StackTrace. better if you can run dumpStack() function on the WLST command prompt to get the more detailed StackTrace.
.
.
Keep Posting 🙂
Thnanks
Jay SenSharma
June 27th, 2011 on 6:15 pm
Dear Team,
I have create the same structure which you explain above ie weblogic clustering in remote boxes but when i try to deploy the application on cluster it successfully deploy on MS1 but failed on MS2
1)both MS machine are reachable
2)on MS2 it shows error like too many open files.
is this problem??? because of that only my application is not deployed successfully?
please help me out
If you want more information let me know
Regards,
Apurva
June 28th, 2011 on 11:09 pm
Hi Apurva,
Right now I am assuming that both the managed serves are reachable as you mentioned then I believe the “Too many open files” could be the cases that your application was not able to be deployed, hence first of all check with your system team that on Box-2 on which the MS2 is present has good number defined to open files if yes then first try to increase them like in unix box you can use “ulimit -n” and then again try to deploy the application again and see if that helps you.
Regards,
Ravish Mody
August 22nd, 2011 on 8:50 am
Hi Jay,
What would be the best practice for clustering in remote box, for example, box A(1.1.1.1), box B(2.2.2.2), let say if I have 3 apps deployed on 3 managed server, for initial setup, I will create managed server server1a(1.1.1.1), server1b(2.2.2.2), server2a(1.1.1.1), server2b(2.2.2.2), server3a(1.1.1.1), server3b(2.2.2.2). Is this good?
Another doubt will be what if later on I decided to create new managed server on cluster in remote box, I guess there will be other way other than starting over again from step 1.
Thanks
August 30th, 2011 on 8:05 pm
Hi
I have domain configured in a different way
I have one admin server and 2 managed server in spread across 2 LINUX box
Box-1 —–>admin server & managed server-1(NM1)—(5000)
Box-2——->managed server-2(7001)(NM2)–(5050)
Directory setup
Box-1 admin server-/home/weblogic/web/adminserver/domain
Managed server-1-/home/weblogic/web/server01/domain
Nodemanager–/home/weblogic/web/server01/domain/NM1
Box-2 Managed server-2-/home/weblogic/web/server02/domain
Nodemanager–/home/weblogic/web/server01/domain/NM2
I used the below command to enroll the nodemanager from the box-2 by connecting to adminserver and i got the msg saying its enrolled successfully.
nmEnroll(‘/home/weblogic/web/server02/domain’,’/home/weblogic/web/server02/domain/NM1′)
I am able to succesfully start both the managed server using startmanaged script but through nodemanager i am not able to start the 2nd managed
server. Status of the second nodemanger is inactive and showing the below error. Look like its not enrolled properly.
Can you provide the correct steps to enroll and best practises to configure nodemanager.
30 Aug, 2011 7:26:39 PM IST> <Could not execute command "getVersion" on the node manager. Reason: "Connection timed out: connect. Couldn't connect to NodeManager. Check that it is running at 139.126.84.41:5050"
I tried to do a telnet from Box-1(139.126.84.21) to Box-2 ip 139.126.84.41:5050 and i am getting the responce.
August 30th, 2011 on 11:07 pm
PLease read as Box-2 Nodemanager–/home/weblogic/web/server02/domain/NM2
August 31st, 2011 on 12:03 am
Hi Sudheshpn,
This error usually occures if the NodeManager is not enroilled properly to the AdminServer. So please re Enroll the NodeManager as mentioned in the Step8). in the link:
http://middlewaremagic.com/weblogic/?p=971
Also looks like you are not setting the Secomd Arfument of the nmEnroll properly….It should be the NodeManager Home Directory…
Example: C:/bea103/wlserver_10.3/common/nodemager
.
Keep Posting 🙂
Thanks
Jay SenSharma
August 31st, 2011 on 1:22 pm
Thanks for your quick response jay!
I have nodemanager configuration,script and property in NM1 and NM2 folder on box 1 and box2.
What steps i did to enroll the nodemanager.
Logged into Box-2
Connected to admin server on Box-1 using WLST
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
wls:/offline> connect(‘system’,’adminwls’,’139.126.84.21:7001′)
Connecting to t3://139.126.84.21:7001 with userid system …
Successfully connected to Admin Server ‘AdminServer’ that belongs to domain ‘cobaltgroup’.
Warning: An insecure protocol was used to connect to the
server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.
wls:/cobaltgroup/serverConfig> nmEnroll(‘/home/weblogic/web/server02/domain’,’/home/weblogic/web/server02/domain/NM2′)
Enrolling this machine with the domain directory at /home/weblogic/web/server02/domain …
Successfully enrolled this machine with the domain directory at /home/weblogic/web/server02/domain.
After enrolling i started the nodemanager on BOX-2 and still i get the same error msg. While enrolling does the nodemanager create a nm_password.properties if yes where exactly it will be created. Can you guide me to fix this. Thank you very much!
September 1st, 2011 on 6:19 pm
Hi Sudheshpn
As the problem still persists…So we would recommend you to please do the following :
Please Copy the “SerializedSystemIni.dat” file from “$DOMAIN_HOME/security” Location and Paste it inside “wlserver_10.0/common/nodemanager/security” (Means the NodeManager’s Security directory) Location. Then restart your NodeManager….
In your case you need to copy “SerializedSystemIni.dat” file from AdminServer BOX “/home/weblogic/web/AdminServer/domain/security” directory and then need to paste it inside Managed Server BOX “/home/weblogic/web/server02/domain/NM2″…This step we are suggesting because it looks like you have not done the pack/unpack of your Domain structure from the Admin Box into your Managed Server Boxes.
But it will be better if you refer to step7). mentioned in the following link to make sure that pack/unpack is done properly….
http://middlewaremagic.com/weblogic/?p=971
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
September 3rd, 2011 on 11:30 am
It worked Jai i had to copy the SerializedSystemIni.dat from admin server. Thank you so much!!Let me take the next step of deploying an application to my cluster. Let you know if i come across any issue…!
October 3rd, 2011 on 2:08 pm
Hello Jay,
I am getting a below issue for the process. Everything goes well. Only at the last step, when i started the Managed server 1 for the first machine, it started well and its running. But when i start the second managed server for the second machine it says, server starting and it goes down with a message saying FAILED_NOT_RESTARTABLE and status shows FAILED.
When i see the node managers of both machines from machine 1 i can see both of them are running, and i have also registered the first machine in the second machine as in step 8.
Below is the error and the details of our env.
weblogic 9.2.2.0, windows 2k3
[ sourcecode language=”java” wraplines=”false” ]
[ /sourcecode ]
The same works well for weblogic 10.3.0 with unicast clustering
October 3rd, 2011 on 2:12 pm
Oct 3, 2011 1:20:30 AM PDT Error HTTP BEA-101020 [weblogic.servlet.inte
rnal.WebAppServletContext@21edaf7 – appName: ‘bea_wls_deployment_internal’, name
: ‘bea_wls_deployment_internal.war’, context-path: ‘/bea_wls_deployment_internal
‘] Servlet failed with Exception
java.lang.NullPointerException:
at javax.mail.internet.MimeUtility.decodeText(MimeUtility.java:480)
at weblogic.deploy.service.internal.transport.http.DeploymentServiceServ
let.mimeDecode(DeploymentServiceServlet.java:788)
at weblogic.deploy.service.internal.transport.http.DeploymentServiceServ
let.authenticateRequest(DeploymentServiceServlet.java:523)
at weblogic.deploy.service.internal.transport.http.DeploymentServiceServ
let.doPost(DeploymentServiceServlet.java:194)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
Truncated. see log file for complete stacktrace
October 3rd, 2011 on 11:06 pm
Jay, can you please help. This is urgent.
October 3rd, 2011 on 11:40 pm
Hi rakeshreddy12345,
by observing your stacktrace it looks like the WebLogic’s internal application “‘/bea_wls_deployment_internal.war” is trying to deploy some resources / applications on your Managed Server-2 and which is failing. So please try the following:
1). Login to AdminConsole And then undeploy all the applications which are targeted to ManagedServer-2
2). Delete the “tmp”, “data, and “cache”” directories from Managed Server.
3), Restart the Managed Server
4). Now freshly deploy the applications which were targeted to that Managed Servers earlier.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
October 4th, 2011 on 12:27 am
This is the issue i am getting, the second managed server says starting and this happens for 6 seconds, then the server goes into the FAILED_NOT_RESTARTABLE mode and the status says FAILED.
java.lang.NullPointerException:
at javax.mail.internet.MimeUtility.decodeText(MimeUtility.java:480)
at weblogic.management.servlet.BootstrapServlet.mimeDecode(BootstrapServlet.java:315)
at weblogic.management.servlet.BootstrapServlet.access$100(BootstrapServlet.java:47)
at weblogic.management.servlet.BootstrapServlet$1.run(BootstrapServlet.java:131)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.management.servlet.BootstrapServlet.processGet(BootstrapServlet.java:119)
at weblogic.management.servlet.BootstrapServlet.doGet(BootstrapServlet.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Can you please Help JAY, ???
October 4th, 2011 on 12:02 pm
Hi Rakesh,
Are you using node manager to start your instances? If yes, I would always suggest the following best practices:
[1]
Log in to console
Select your server on left hand side
Click on Configuration -> Overload Tab
Under Panic Action Select “Exit the server process” during some overload conditions and issues like in out of memory case
[2]
Log in to console
Select your server on left hand side
Click on Configuration -> Health Monitoring Tab
Select the Auto Killed if Failed.
[3]
Log in to console
Select your server on left hand side
Click on Configuration -> Overload Tab
Under Failure Action Select “Force immediate shutdown of this server” on FAILED state
If this does not solve your issue or you are not using node manager, then have you tried killing the process from the process tree?
Also you can try using WLST to start you managed instance.
January 2nd, 2012 on 5:54 pm
Hi Jay,
It is very good site , simple steps.
There are couple question here ..
Cluster creation :
How can i get the Multicast Address /unicast address
is “netstat -g” .
on starting MS2 from M/C 1 Admin console i m getting this error.
January 4th, 2012 on 2:27 pm
Hello all, a little help if possible…
I set up a horizontal cluster on 2 boxes based on the articles here. It worked perfect and ran fine. Yeah! (and many thanks)
Then… I changed my cluster from unicast -> multicast (just for testing purposes). Then managed server 1 (M1) started up OK but M2 on the remote box got FAILED_NOT_RESTARTABLE. I stopped all weblogic processes and restarted… no luck. After about 2 hours of trying things, I finally deleted the cluster and started back at the re- pack & unpack domain process but even after unpacking the domain on the remote box it *still* ended up FAILED. Some garbage-y thing must get packed up.
The (unfortunate) message was: Error occurred while downloading from admin server for deployment request … Underlying error is: “null”. Great, just great.
Any suggestions on what to clean up before packing a domain? I’m guessing that deleting the cluster didn’t actually cleanly delete the cluster so then when I re-packed there must have been some garbage packed up… but what?
January 4th, 2012 on 2:31 pm
Duh, I should say: This is a VMware VM running RH Linux EL5 server, 32-bit WebLogic 10.3.4, Sun JDK.
January 5th, 2012 on 1:31 am
HI Marsha,
The only problem i could think of is the “Multicast address”. When we want to run a Cluster on Multicast mode then we should first check whether a valid multicast port is avilable or not…As you are using VMWare so the chances are high that there could be some issue with the multicast. So it would be better if you can run the Multicast test first on your N/W. As mentioned in the following links:
http://middlewaremagic.com/weblogic/?p=980
http://middlewaremagic.com/weblogic/?p=4611
Also It would be best if you can paste the NodeManager log and the Log of the server which failed to restart, that should give us some more idea on what could be the issue.
As far as the “Clean Up” is required in this case i dont think any clean up is required but you can try deleting the Temporary files created inside your NodeManager Home and the Admin servers “tmp”, “data” directories.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
April 21st, 2012 on 9:12 pm
Hi Jay,
i am beginner in weblogic.
i have to set up weblogic and deploy my application on that.I don’t want to use clustering..But want to have two different managed servers on different physical machine and then balance the load between these two web logic servers by IIS plugin.
For this i have two physical machines A and B. On both physical machine i have installed the web logic instance with same directory structure.
On Machine A I have created a domain DA.MS1,MS2
Then I created two machin MACH1 and MACH2
To MACH1 I have assigned all the properties of LOCAL Physical Machine A
And to MACH2 I have assigned all the properties of REMOTE Physical Machine B.
After this I just Assigned Admin server and MS1 to Machine1
And assigned MS2 to Machine2.
I have only created the same domain with same adminuser and password in the weblogic instance installed on remote physical machine B
Then I start the admin server on Machine A and start the MS1 and also started the nodemanger.
Then I went to remote machine and start the wlst and connect() and enEnroll machine to Machine1.
But still I can start the MS2 on machine B.
What went wrong…please suggest.
thanks and regards,
Avi
June 3rd, 2012 on 3:42 pm
Hi Jay
I am new to weblogic.
I have a scenario..
I have two unix boxes.they are running same weblogic server version 9x
1st unix box contains:- 1 admin server and 1 managed server(Ms1)
2nd unix box contains :- 1 managed server(Ms2)
My scenario is
I want to add Ms2 from unixbox2 to unix box1
March 9th, 2013 on 4:20 am
JaySen,
The moment I started reading this article, I knew this is going to be a great article. Kudos for providing such a nice, informative and valuable information.
RJ
May 19th, 2013 on 6:56 pm
Hi All,
we are planning to create cluster environment in production, we have netscaler on top of weblogic for loadbalancing the traffic. So once we create cluster(ms1,ms2,ms3). what will be the cluster address that should be given in netscaler?
Single instance address:port(ms1address:ms1port) in cluster?
Will it do loadbalance internally in wl cluster if we give single instance address and its port in the netscaler?
Thanks
July 4th, 2013 on 1:58 pm
Hi Jay,
I am not sure if this is the relevant place for me to pose this question.
I have two environments one is testing and Prod. I want to make the UAT as my DR and I am trying to sync up both the environments. Is it ok if I copy Oracle_OSB and Oracle_SOA folders? I am trying to sync even B2B objects(inlcuding the messages receivied and inflight messages), JMS modules and filestores.Please advise
Thanks in advance
Sridhar
July 13th, 2013 on 12:40 am
Hi Jay,
In your article “WebLogic Clustering in Remote Boxes” there is no reference to adding Managed Servers created to respective machines. DO we need to do this step?
The reason i am asking I did all the steps upto 11) and I am seeing start button to start managed servers in Step 12) from admin console
September 25th, 2013 on 9:15 pm
We have Configured the weblogic horizontal clustering with two different machines in my environment, created the cluster and added the two managed servers(MS1 to Machine1 & port is 8003, MS2 to Machine2 & port is 8003) and deployed an application in cluster(targeted the both the managed servers).
and we configured the two ip’s along with the one port in loadbalancer level.
but when i hit the application url,the hit is going to first server only(MS1 to Machine1), when i stop the first managed servers the hit is not going to second managed server(MS2 to Machine2)
I done the same steps which you are posted.
April 17th, 2014 on 7:54 pm
dear Joy,
we are strucked in machine not reachable in remote machine local is reachable please help ASAP.
December 2nd, 2015 on 10:55 am
Hi jaysen,
Hatsoff for your great work. I was stucked in setting up weblogic server. But now i am in a final stage of it due to this superb article.
All the steps worked for me well, but not able to start both the servers. getting the below error
ERROR- Message icon – Warning The server Server-0 does not have a machine associated with it.
Message icon – Warning The server Server-1 does not have a machine associated with it.
Message icon – Warning All of the servers selected are currently in a state which is incompatible with this operation or are not associated with a running Node Manager or you are not authorized to perform the action requested. No action will be performed.
I assign the machine -0 to server-0 and machine-1 to server-1 then started, but again got the error “FAILED_NOT_RESTARTABLE”.
please guide me. from 15 days i am trying to configure it
December 2nd, 2015 on 4:36 pm
Hello Rajeshraju,
Do you see in the admin console that your NodeManager is monitoring tab is showing it as “Reachable” ? (are the servers associated properly to the Machines?)
Are you able to start those servers using the “startManagedWebLogic.sh” script ?
Do you see any error in the server log while starting the servers?
Regards
Jay SenSharma