weblogic11g集群配置
最近學習weblogic11g的集群配置,由于以前配置時總是遇到問題,所以現在寫下來供大家交流一下。如果不對的地方,希望指教。本文針對與windows xp 32位系統。
? ?有圖為證:
【1】先把weblogic11g安裝到本地機器。然后點擊Oracle WebLogic-->WebLogic Server 11gR1-->Tools-->Configuration Wizard開始配置集群。
【2】選擇域源
【3】輸入域的名稱和選擇位置
【4】輸入管理員用戶名和密碼
【5】配置服務器的啟動模式和jdk。一般開發模式的話就選擇Oracle\Middleware\jdk160_29這個jdk。生產模式的話選擇JRockit的jdk,路徑在Oracle\Middleware\jrockit_160_29_D1.2.0-10
【6】選擇可選配置。這里我們配置管理服務器和受管服務器
【7】配置管理服務器,這里的listen address一定要選擇自己的靜態IP地址,否則啟動時會報異常。
【8】配置受管服務器。我這里都是在本地機器上面,所以選擇的IP地址都是本地IP。
【9】配置集群。這里涉及到選擇多播地址的問題,一般是外網訪問的一個IP地址,但是一般沒什么用,用默認的就行了,端口不要跟主管服務器、受管服務器、代理服務器的端口重復就行了(當然我的是本地的所以不要重復,如果你是多臺機器,那就無所謂了)。
【10】向集群分配服務器。把剛才添加的受管服務器的Server1和Server2分配給集群。
【11】創建代理服務器。剛才添加了三個受管服務器,分配給集群兩個Server1和Server2,剩下的那個ProxyServer就是代理服務器。
【12】配置計算機。有的人都沒有配置這個計算機,也是可以啟動的。但是如果你配置了這個計算機,那么你就可以直接通過主管服務器來啟動和停止受管服務器了。
【13】把受管服務器和代理服務器添加到剛添加的計算機下。
【14】直接創建
【15】啟動weblogic的集群也是不一樣的。
到Oracle\Middleware\user_projects\domains\admin_domain\bin目錄下
首先,啟動主管服務器
startWebLogic.cmd啟動服務。當然如果是linux的話,請啟動startWebLogic.sh這個命令。
然后,啟動代理服務器
startManagedWebLogic.cmd ProxyServer http://192.168.15.193:8001
最后,啟動受管服務器
受管服務器1:
startManagedWebLogic.cmd Server1 http://192.168.15.193:8001
受管服務器2:
startManagedWebLogic.cmd Server1 http://192.168.15.193:8001
到現在,我們的weblogic的集群算是啟動完畢了。接下來訪問http://192.168.15.193:8001/console這個IP,然后你會看到自己配置的服務器的啟動狀態。
【接下來說明一下自己配置中遇到的問題:】
1.啟動主管服務器報以下錯誤:
<2014-9-17 上午08時52分03秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Serverstate changed to STARTING> <2014-9-17 上午08時52分03秒 CST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool> <2014-9-17 上午08時52分07秒 CST> <Notice> <Log Management> <BEA-170019> <The server log file D:\weblogic11g\Oracle\Middleware\user_projects\domains\admin_domain\servers\AdminServer\logs\AdminServer.log is opened. All server side log eventswill be written to this file.> <2014-9-17 上午08時52分22秒 CST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.> <2014-9-17 上午08時52分42秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Serverstate changed to STANDBY> <2014-9-17 上午08時52分42秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Serverstate changed to STARTING> <2014-9-17 上午08時53分26秒 CST> <Error> <HTTP> <BEA-101216> <Servlet: "AppManagerServlet" failed to preload on startup in Web application: "console". java.lang.NoSuchMethodError: com/bea/utils/misc/ProcessUtil.getPropValues(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;at com.bea.p13n.license.LicenseHelper.getLicensePropertyValues(LicenseHelper.java:259)at com.bea.netuix.servlets.services.LightNetUIxServices.getRestrictedPortalLimit(LightNetUIxServices.java:140)at com.bea.netuix.servlets.manager.UIServlet.reinitInternal(UIServlet.java:177)at com.bea.netuix.servlets.manager.UIServlet.initInternal(UIServlet.java:164)at com.bea.netuix.servlets.manager.UIServlet.access$100(UIServlet.java:60)Truncated. see log file for complete stacktrace> <2014-9-17 上午08時53分26秒 CST> <Error> <Deployer> <BEA-149231> <Unable to setthe activation state to true for the application 'consoleapp'.weblogic.application.ModuleException: [HTTP:101216]Servlet: "AppManagerServlet"failed to preload on startup in Web application: "console".java.lang.NoSuchMethodError: com/bea/utils/misc/ProcessUtil.getPropValues(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;at com.bea.p13n.license.LicenseHelper.getLicensePropertyValues(LicenseHelper.java:259)at com.bea.netuix.servlets.services.LightNetUIxServices.getRestrictedPortalLimit(LightNetUIxServices.java:140)at com.bea.netuix.servlets.manager.UIServlet.reinitInternal(UIServlet.java:177)at com.bea.netuix.servlets.manager.UIServlet.initInternal(UIServlet.java:164)at com.bea.netuix.servlets.manager.UIServlet.access$100(UIServlet.java:60)at com.bea.netuix.servlets.manager.UIServlet$ServletLifecycleListenerImpl.init(UIServlet.java:555)at com.bea.netuix.util.ServletLifecycleListener.initOrReinitInternal(ServletLifecycleListener.java:131)at com.bea.netuix.util.ServletLifecycleService.addServletLifecycleListener(ServletLifecycleService.java:252)at com.bea.netuix.util.ServletLifecycleService.addServletLifecycleListener(ServletLifecycleService.java:182)at com.bea.netuix.servlets.manager.UIServlet.init(UIServlet.java:131)at com.bea.netuix.servlets.manager.SingleFileServlet.init(SingleFileServlet.java:75)at javax.servlet.GenericServlet.init(GenericServlet.java:241)at com.bea.console.utils.MBeanUtilsInitSingleFileServlet.init(MBeanUtilsInitSingleFileServlet.java:38)at weblogic.servlet.AsyncInitServlet.initDelegate(AsyncInitServlet.java:100)at weblogic.servlet.AsyncInitServlet.init(AsyncInitServlet.java:84)at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1981)at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1955)at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1874)at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3154)at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1518)at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:484)at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:671)at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:59)at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1520)at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:484)at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)Truncated. see log file for complete stacktrace Caused By: java.lang.NoSuchMethodError: com/bea/utils/misc/ProcessUtil.getPropValues(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;at com.bea.p13n.license.LicenseHelper.getLicensePropertyValues(LicenseHelper.java:259)at com.bea.netuix.servlets.services.LightNetUIxServices.getRestrictedPortalLimit(LightNetUIxServices.java:140)at com.bea.netuix.servlets.manager.UIServlet.reinitInternal(UIServlet.java:177)at com.bea.netuix.servlets.manager.UIServlet.initInternal(UIServlet.java:164)at com.bea.netuix.servlets.manager.UIServlet.access$100(UIServlet.java:60)Truncated. see log file for complete stacktrace > <2014-9-17 上午08時53分26秒 CST> <Notice> <Log Management> <BEA-170027> <The Server has established connection with the Domain level Diagnostic Service successfully.> <2014-9-17 上午08時53分28秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Serverstate changed to ADMIN> <2014-9-17 上午08時53分29秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Serverstate changed to RESUMING> <2014-9-17 上午08時53分31秒 CST> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 192.168.15.193:8001 for protocols iiop, t3, ldap, snmp, http.> <2014-9-17 上午08時53分31秒 CST> <Notice> <WebLogicServer> <BEA-000329> <Started WebLogic Admin Server "AdminServer" for domain "admin_domain" running in Production Mode> <2014-9-17 上午08時53分31秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Serverstate changed to RUNNING> <2014-9-17 上午08時53分31秒 CST> <Notice> <WebLogicServer> <BEA-000360> <Serverstarted in RUNNING mode>
這個問題是因為主機上同時存在低版本的weblogic,主機環境變量指向了低版本的jar文件。把低版本的weblogic卸載了在重新啟動就好了。
2.啟動主管服務器和啟動代理服務器都是正常的,但是啟動受管服務器的時候報SocketException的異常。是有關多播地址連接的問題。一般配置主管、受管、代理服務器的時候選擇的linsten address錯誤。異常信息如下:
Unable to initialize the server: weblogic.server.ServerLifecycleException: Failed to listen on multicast addressCan’t assign requested address> ********************************************************* The WebLogic Server did not start up properly. Exception raised: ‘java.net.SocketException: Can’t assign requested address’ Reason: weblogic.server.ServerLifecycleException: Failed to listen on multicast addressCan’t assign requested address 從網上看到這個是因為組播路由有關系。所以就查看一下組播路由列表(netstat -rn)。 如果沒有,再添加一個路由(route add 239.192.0.0 192.168.15.193)。然后再啟動受管服務器應該就好了。這個一定要綁定自己本地機器的靜態IP地址。
總結
以上是生活随笔為你收集整理的weblogic11g集群配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring定时任务时间格式cronEx
- 下一篇: linux命令行操作之文件操作总结