前段时间公司项目上线,原先规划的时候只是在A,B,C,D四台服务器上各建了一个受管服务(A机器上有一个管理服务器),但是后来随着业务的扩展,需要在原来集群的基础上另外新增两个服务以满足需要(计划在A,B上面各新增一个服务——这两台机器好些),后来就找机器进行测试,发现直接通过控制台来添加服务是最方便的。但是在添加的过程和启动的过程中还是出现了若干的问题。具体如下:
1、添加的时候虽然通过Environment——>Servers添加了,但是添加之后
Machine 这一列并没有像刚建好的weblogic集群那样有这一项,后来才知道还需要在Environment——>Machines 中去进行配置。
点击Environment——>Machines ——>Lock&Edit按钮,然后点击相应服务器对应的
Machine 连接,进入后,点击Servers按钮,然后点击Add按钮,在identity Server中选择Select an existing server, and associate it with this machine,在下拉列表框中选择刚添加的那个受管服务,点击Next,然后点击左侧的Active change,这样便完成了受管服务器的创建。
2、按照这个模式在本地那台机器上(即A机器)加上之后,通过控制台startManagedWebLogic.cmd ManagedServer_5 http://A 机器IP:7001启动后是正常的没有问题,但是在控制台中给B机器加上一个服务后,在B机器上启动服务就存在一个问题——不管怎么启动,都报
####<2011-12-5 下午07时51分23秒 CST> <Critical> <WebLogicServer> <gaoxin11> <ManagedServer_6> <Main Thread> <<WLS Kernel>> <> <> <1323085883592> <BEA-000386> <Server subsystem failed. Reason: weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.doBootAuthorization(Unknown Source)
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initialize(Unknown Source)
at weblogic.security.service.SecurityServiceManager.initialize(Unknown Source)
at weblogic.security.SecurityService.start(SecurityService.java:141)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
这种错误,后来才找到解决办法,但是为什么这样还不明白,希望知道的大虾能够告知小弟一声。具体的解决办法是:
把B机器上的所建的域下面的boot.properties文件里面的内容全部删除(里面的用户名和密码是经过加密了的),然后重新输入第一次创建受管服务器时输入的明文的用户名和密码;然后到刚启动失败的D:\bea\user_projects\domains\TestDomain\servers\ManagedServer_8(通过控制台新建的服务名称)\security这个目录下把boot.properties文件也删除掉。然后重新通过B机器上的dos窗口启动。应该可以启动成功。
3、新建了两个服务之后,然后我在另外的机器上访问(同一个局域网)发现访问不了,分析了一会才想到本地的防火墙端口好像做了限制,这样肯定就访问不了了。于是把防火墙的端口开放,于是所有的问题解决了。这样在现网上加上服务的同时又没有影响原系统的运行,感觉非常不错。
有时间我专门写一个关于如何建立集群及如何发布服务、动态的在原集群基础上新增服务、常规的优化的一个文档整理出来,供大家参考,希望对大家有帮助,也希望大家能够多提意见。