(转)在 WebSphere Application Server 中修改主机名称并迁移概要文件
原文:https://www.ibm.com/developerworks/cn/websphere/techjournal/0905_webcon/0905_webcon.html
修改主机名
让我们首先从修改部署管理器机器上的主机名开始。初始配置如图 1 所示,其中部署管理器节点 SONOMACellManager01 位于主机 SONOMA.xd61stew.ibm.com 中。
图 1. 初始配置

停止部署管理器后,在作出任何改变之前,使用 WebSphere Application Server 备份工具 backupConfig.(sh/bat) 对您的配置进行备份始终是个好主意,如清单 1 所示。并不是说您希望出现任何错误,但是在出现问题时能够恢复到起点总是不错的。
清单 1
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
SONOMA:/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin # ./backupConfig.sh /root/FullSonomaCellBackup.zipADMU0116I: Tool information is being logged in file /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/logs/backupConfig.logADMU0128I: Starting tool with the Dmgr01 profileADMU5001I: Backing up config directory /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config to file /root/FullSonomaCellBackup.zipADMU0505I: Servers found in configuration:ADMU0506I: Server name: dmgrADMU2010I: Stopping all server processes for node SONOMACellManager01ADMU0512I: Server dmgr cannot be reached. It appears to be stopped......................................................................................ADMU5002I: 939 files successfully backed upSONOMA:/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin # |
现在应当启动 wsadmin,但是不要连接到 WebSphere 进程。这可以通过指定 -conntype NONE 完成,如清单 2 所示。
清单 2
|
1
2
3
4
5
6
|
SONOMA:/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin # ./wsadmin.sh -conntype NONE -lang jythonWASX7357I: By request, this scripting client is not connected to any server process. Certain configuration and application operations will be available in local mode.WASX7031I: For help, enter: "print Help.help()"wsadmin> |
如果这是您第一次使用 Jython 运行 wsadmin,而不是使用默认的 Jacl,那么当第一次处理 Jython JAR 文件时,将看到大量类似于下面的信息:
*sys-package-mgr*: processing new jar,
'/opt/IBM/WebSphere/AppServer/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime/batch.jar'
准备好 wsadmin 之后,对 AdminTask 对象调用 changeHostName 实用命令。清单 3 所示的 AdminTask 输出显示了交互模式,它提示您进行输入并根据您的输入构建 wsadmin 命令。
在本例中,主机名由 “SONOMA.xd61stew.ibm.com” 修改为 “NAPA.xd61stew.ibm.com”(图 1)。nodeName 参数告诉 wsadmin 哪个特定节点被修改;在本例中,这个节点是托管部署管理器的节点,而主机名参数则指定新的主机名。可以看到,我们还选择重新生成 SSL 证书作为修改的一部分。您还将注意到 AdminTask 根据您的输入显示它生成的命令,这使您能够将未来要使用的命令拷贝到一个文件中。一旦 AdminTask 生成的命令得到执行后,修改将被保存并且您将退出 wsadmin。
清单 3
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
wsadmin>AdminTask.changeHostName ('[-interactive]')Change Host NameChange the host name of a node*Node Name (nodeName): SONOMACellManager01*Host Name (hostName): NAPA.xd61stew.ibm.comSystem Name (systemName): SONOMARegenerate Certificates (regenDefaultCert):Change Host NameF (Finish)C (Cancel)Select [F, C]: [F] FWASX7278I: Generated command line: AdminTask.changeHostName ('[-nodeName SONOMACellManager01 -hostName NAPA.xd61stew.ibm.com -systemName SONOMA ]')''wsadmin>AdminConfig.save()''wsadmin>exit |
重新启动部署管理器后,可以看到修改被反映到管理控制台中,如图 2 所示,其中部署管理器节点的主机名现在变为 “NAPA.xd61stew.ibm.com”。顺便提一下,如果您在输入主机名时出现错误,那么很可能无法启动部署管理器,并且将需要查看日志。表示新主机名拼写错误的消息为:
<your new host name> and the exception is java.net.UnknownHostException:
另一个相关的错误消息为:
Host name <your new host name> is not registered in DNS.
如果是这样的话,只需重新运行 AdminTask.changeHostName 并正确地输入新的主机名,然后像往常一样保存并退出。
图 2. 修改主机名后的配置

这时应该逐一停止所有节点代理并使用新的部署管理器主机名运行 syncNode,如清单 4 所示,然后在 syncNode 完成后启动节点代理。
清单 4
|
1
2
3
4
5
6
7
8
9
|
AVALON:/opt/WAS70/AppServer\profiles/AppSrv01/bin>./syncNode.sh NAPAADMU0116I: Tool information is being logged in file /opt/WAS70/AppServer/profiles/AppSrv01/logs/syncNode.logADMU0128I: Starting tool with the AppSrv01 profileADMU0401I: Begin syncNode operation for node AVALONNode01 with Deployment Manager NAPA: 8879ADMU0016I: Synchronizing configuration between node and cell.ADMU0402I: The configuration for node AVALONNode01 has been synchronized with Deployment Manager NAPA: 8879 |
将概要文件迁移到一个新主机
当然,并不是所有情况都像在服务器上保持 WebSphere Application Server 等中间件并仅需要修改主机名这么简单。更常见的情况是,您需要将运行时从一台机器迁移到另一台机器,修改主机名只是迁移过程中的一个步骤。假设您并不仅仅是将现有服务器的主机名从 “SONOMA” 修改为 “NAPA”,您实际上希望将部署管理器(或任何其他 WebSphere Application Server 进程)移动到另一台机器,并修改 WebSphere Application Server 配置来反映新服务器上的主机名。如果结合使用 manageprofiles 命令和 AdminTask.changeHostName,那么您就可以实现上述目的。
要开始此过程,首先停止服务器上运行的所有进程,然后使用 backupProfile 选项运行 manageprofiles 命令,同时指定将要备份的文件和所需的文件名,如清单 5 所示。
清单 5
|
1
2
3
|
SONOMA:/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin # ./manageprofiles.sh -backupProfile -profileName Dmgr01 -backupFile /root/SONOMADmgr01Backup.zipINSTCONFSUCCESS: Success: The profile backup operation was successful. |
当备份完成后,使用您喜欢的文件拷贝工具将备份文件从旧服务器上转移到新服务器上。新服务器需要安装 WebSphere Application Server,但是不需要创建任何概要文件,但是有一个预配置项可以使您的转移更加顺利:目标系统上的目录结构应当匹配源系统上的目录结构。虽然 WebSphere Application Server V7 似乎消除了大部分(但不是全部)指向 WAS_HOME 目录位置的硬编码目录路径,但是目前为止 Version 6.1 中还有超过 200 个路径。因此,如果您没有在机器之间维护目录结构的一致性,您将需要手动修改目录结构,以及对目录路径 in setupCmdLine.sh(bat) 和 variables.xml 的引用。当然,我不会对这 200 多个实例以及修改方式进行归档。相反,我仅仅是建议您将 WebSphere Application Server 安装到源机器和目标机器上的相同位置。这样的话,只需要使用 restoreProfile 选项运行 manageprofiles,如清单 6 所示。
清单 6
|
1
2
3
|
NAPA:/opt/IBM/WebSphere/AppServer/bin # ./manageprofiles.sh -restoreProfile -backupFile /root/SONOMADmgr01Backup.zipINSTCONFSUCCESS: Success: The profile was successfully restored. |
现在,只需调用 wsadmin AdminTask.changeHostName 命令,如前所示,保存您的修改并退出。部署管理器(或其他 WebSphere Application Server 进程)现在已经准备好在新的服务器上启动。WebSphere Application Server 概要文件以外的任何配置内容(比如在非默认位置展开的应用程序、共享库 JAR、JDBC 提供者使用的数据库驱动器、独立的连接器模块,等等)都必须手动拷贝。此外,如果是在使用 Sun™ Solaris™ 或 HP JDK 的机器和运行 IBM JDK 的机器之间迁移(反之亦然),那么也必须手动修改 JVM 设置中的任何 Sun、HP 或 IBM JDK 特定的 -X 标志。
在结束本节之前,需要注意上述过程也可以用于将您的 WebSphere Application Server 配置从 32 位安装迁移到 64 位安装,反之亦然。您可能会问,为什么要从 64 位迁移到 32 位?这是因为,在完成测试后,您可能会发现 64 位的性能不如您预期的那样好,这可能有多个原因。
另一个选项
AdminTask.changeHostName 命令的另一个选择是使用基于属性文件的配置实用工具,该工具是 WebSphere Application Server V7 附带的一部分。在本例中,仍然使用 wsadmin 来提取配置,然后验证并应用变更。
如前所述,在不使用连接的情况下启动 wsadmin(-conntype NONE)并且将被修改的进程会停止。这一次,AdminTask extractConfigProperties 实用工具按以下方式调用:
清单 7
|
1
2
|
wsadmin >AdminTask.extractConfigProperties('[-propertiesFileName /root/ SONOMA.cell.props]') |
在本例中,创建了一个属性文件 SONOMA.cell.props,您可以使用任何文本编辑器进行编辑。只需要找到 “from” 主机名,在本例中为 “SONOMA.xd61stew.ibm.com”(清单 8),将其修改为新主机名,保存文件并退出。
清单 8
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# End of Section 1.0# Cell=!{cellName}###EnvironmentVariablesSection###Environment VariablesnodeName=AVALONNode01applicationName3=iscliteapplicationName2=ibmasyncrspapplicationName1=WebSphereWSDMserverName3=nodeagentserverName2=dmgrserverName1=clusterserver2serverName=clusterserver1nodeName2=SONOMACellManager01nodeName1=AVALONNode02applicationName=DefaultApplicationcellName=SONOMACell01coreGroup=DefaultCoreGrouphostName=AVALON.xd61stew.ibm.comnodeGroup=DefaultNodeGrouphostName6=${LOCALHOST_NAME}clusterName=defaultclusterhostName5=SONOMA.xd61stew.ibm.comhostName4=localhosthostName3=232.133.104.73hostName2=ff01::1hostName1=* |
编辑完文件后,在退出 wasdmin 前需要运行另外三个 wsadmin 命令(清单 9):
AdminTask.validateConfigProperties将验证所做的修改。AdminTask.applyConfigProperties将所做的修改应用到库。AdminConfig.save将保存修改。
清单 9
|
1
2
3
4
5
6
7
8
9
|
wsadmin> AdminTask.validateConfigProperties('[-propertiesFileName /root/SONOMA.cell.props ]')'true'wsadmin> AdminTask.applyConfigProperties('[-propertiesFileName /root/SONOMA.cell.props ]')''wsadmin>AdminConfig.save()''wsadmin>exit |
如前所述,启动部署管理器并运行 syncNode,在停止每个节点代理后确保修改被全部传播,然后重启节点代理。
真正执行修改
如果您仍然在运行 WebSphere Application Server V5.x —— 即使它不再受到支持 —— 并且您需要对 Version 5.x 环境做出修改,那么您可以使用一些工具,但是这些工具不同于 V6.x 和 V7.0 中使用的工具。要在 WebSphere Application Server V5.x 中修改现有系统的主机名,可以使用与 在 V7.0 中修改主机名 相同的过程;由于这个过程提供了 wsadmin Jython 语法而 V5.x wsadmin 使用的是 Jacl,我在清单 10 中提供了修改后的 Jacl 语法。
清单 10
|
1
2
3
4
5
6
7
8
|
wsadmin>$AdminConfig list ServerIndex(cells/AvalonNetwork/nodes/Avalon:serverindex.xml#ServerIndex_1)(cells/AvalonNetwork/nodes/AvalonManager:serverindex.xml#ServerIndex_1)wsadmin>$AdminConfig modify (cells/AvalonNetwork/nodes/AvalonManager:serverindex.xml #ServerIndex_1) {{hostName AVALON.xd61stew.ibm.com}}wsadmin>$AdminConfig save |
除了像上面那样修改主机名外,WebSphere Application Server V7.0 Information Center 中还提供了一组 wsadmin 样例脚本,应该能够用于这个目的。
(转)在 WebSphere Application Server 中修改主机名称并迁移概要文件的更多相关文章
- WebSphere Application Server中manageprofiles的使用
转自 https://www.cnblogs.com/lgfeng/archive/2013/02/21/2921215.html ---------------------------------- ...
- 在 WebSphere Application Server V7 集群环境中管理 HTTP session[阅读]
http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1012_dingsj_wascluster/1012_ding ...
- 将 Spring 和 Hibernate 与 WebSphere Application Server 一起使用
本文摘要 如果您考虑将 Spring 或 Hibernate 与 IBM® WebSphere® Application Server 一起使用,则本文向您阐述了如何配置这些框架,以适用于 WebSp ...
- linux/win7下安装websphere application server
说明: 1.参考网址:http://www.ibm.com/developerworks/cn/aix/library/au-wasonlinux/ 2.在ibm官网上下载websphere appl ...
- Websphere Application Server 环境配置与应用部署最佳实践
在发布一个运行于 WebSphere Application Server 的 J2EE 应用之前,对服务器进行配置和部署应用是必不可少的一个过程,这个过程是非常复杂的.WAS 为用户提供了可视化的管 ...
- WebSphere Application Server切换JAVA SDK版本
最近在Windows Server 2008 R2服务器中搭建了一套IHS+WAS8.5集群环境,测试一个简单的demo应用没有问题,可是在部署正式应用时总是报类版本错误.换了好几个JDK对项目进行编 ...
- 1、WebSphere Application Server的下载以及安装
最近在做农行相关的项目,我们的后台需要发布到农行WebSphere Application Server上,因此学习一下: 一.WebSphere 是什么? WebSphere 为 SOA (面向服务 ...
- WebSphere Application Server诊断和调优
近段时间,我们项目中用到的WebSphere应用服务器(WAS),但在客户的production环境下极不稳定,经常宕机.给客户造成非常不好的影响,同时,也给项目组很大压力.为此,我们花了近一个月时间 ...
- 为WebSphere Application Server v8.5安装并配置JDK7
IBM WebSphere Application Server v8.5可以同时支持不同版本的JDK共存,并且可以通过命令设置概要文件所使用的JDK版本.WAS8.5默认安装JDK6,如果要使用JD ...
随机推荐
- java最全的Connection is read-only. Queries leading to data modification are not allowed
Connection is read-only. Queries leading to data modification are not allowed 描述:框架注入时候,配置了事物管理,权限设置 ...
- mysql 经典错误解决方案 :Incorrect string value 'xE6x95x85xE4xBAx8B...' for column
1.关闭当前服务器2.删除正在使用的数据库drop database 数据库名字;3.查看字符集, SHOW VARIABLES LIKE 'character_set_%'; 把所有latin1的都 ...
- JavaScript面向对象编程[转]
JavaScript面向对象编程 命名空间 命名空间是一个容器,它允许开发人员在一个独特的,特定于应用程序的名称下捆绑所有的功能. 在JavaScript中,命名空间只是另一个包含方法,属性,对象的对 ...
- ( KMP 求循环节的个数)Power Strings -- poj -- 2406
链接: http://poj.org/problem?id=2406 Power Strings Time Limit:3000MS Memory Limit:65536KB 64bi ...
- Python学习-21.Python的代码注释
在Python中有两种注释,一种是普通注释,另一种是文档注释. 普通注释是使用#开头 print('output something') # here is comment 而Python中多行注释也 ...
- List<T>用法
所属命名空间:System.Collections.Generic public class List<T> : IList<T>, ICollection<T>, ...
- dorado-SplitSpanel控件
1.这是一个界面布局控件 2.分为SideControl边区域和MainControl主区域 3.常用属性 3.1 collapsed:打开页面时,边区域是否显示 3.2 position:边区域占总 ...
- js 日期去掉 -
语法 stringObj.replace(rgExp, replaceText) replace 方法的语法包括下述部分: stringObj 必选项.要执行该替换的 String 对象或文字.该对象 ...
- 使用Git上传代码到远程仓库
1.进入文件夹,cd f:/test/ 2.初始化远程仓库,git init 3.添加代码,git add . (注意add后面的点前面有一个空格) 4.提交代码到远程仓库,git commit -m ...
- nginx安装和遇到的问题
nginx安装步骤和遇到的问题 tar -xvf nginx-.tar.gz cd nginx- ./configrue make make install 在configure中可能遇到的问题: ( ...