本节介绍已知的管理问题和相应的解决方法。
创建群集时,Communications Server 会随机分配一个介于 1026 到 45556 之间的心跳端口。对于默认群集(由 Communications Server 安装创建的默认群集),会在 0 到 45556 之间选择一个随机数。群集创建过程不会精确检测心跳端口是否正被另一个服务使用。
如果自动群集创建配置选择了一个心跳端口,该端口与正在使用它的另一个服务冲突,请将群集心跳端口更新为系统未使用的端口。
要更改群集的心跳端口,请使用下面的 asadmin 命令:
asadmin set 群集名称.heartbeat-port=新端口号
当尝试在安装了网络文件系统 (NFS) 的文件系统(NFS 服务器运行 64 位 Linux)上创建域时,asadmin create-domain 命令可能会失败。
没有已知的解决方法。
在轮转大型日志文件时,发现响应时间稍有增加。
可以通过修改日志程序设置中的“文件轮转限制”和“文件轮转时间限制”值,最大程度地减少性能降低情况。这些属性的值取决于您的应用程序和环境。
对 IBM Message Queue 产品部署通用 RA 适配器失败。server.policy 文件中授予的权限如下所示。
grant { permission java.util.logging.LoggingPermission "control"; permission java.util.PropertyPermission "*", "read,write"; } |
将 server.policy 文件中的权限更改为如下所示:
grant codeBase "file:${com.sun.aas.installRoot}/lib/install/applications/adminapp/-" { permission java.util.logging.LoggingPermission "control"; }; |
在某些情况下,安装在 DAS 上的预期要与特定实例同步的文件实际上会发送到其他实例。
没有已知的解决方法。
即使在启动过程中非关键组件失败,asadmin start-cluster 命令也会显示过多消息。请参见非关键元素(与群集中的实例相关)失败时的以下示例命令输出:
./asadmin start-cluster --port 9898 cluster1 Please enter the admin user name>admin Please enter the admin password> The clustered instance, instance2, was successfully started. error 0 [#|2008-07-17T14:58:16.496+0200|WARNING|sun-appserver9.1|javax.jms| _ThreadID=10;_ThreadName=main; _RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|[C4003]: Error occurred on connection creation [localhost:37676]. - cause: java.net.ConnectException: Connection refused|#] error 1 [#|2008-07-17T14:58:17.517+0200|WARNING|sun-appserver9.1|javax.jms| _ThreadID=10;_ThreadName=main; _RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|[C4003]: Error occurred on connection creation [localhost:37676]. - cause: java.net.ConnectException: Connection refused|#] error 2 [#|2008-07-17T14:58:30.596+0200|WARNING|sun-appserver9.1| javax.enterprise.system.container.ejb| _ThreadID=13;_ThreadName=pool-1-thread-4;TimerBean; _RequestID=5954a044-df06-4a3e-902a-0c40b4b6cddb; |EJB5108:Unable to initialize EJB Timer Service. The likely cause is the database has not been started or the timer database table has not been created.|#] error 3 [#|2008-07-17T14:58:32.512+0200|WARNING|sun-appserver9.1| javax.enterprise.resource.resourceadapter|_ThreadID=10;_ThreadName=main; __CallFlowPool;_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;| RAR5005:Error in accessing XA resource with JNDI name [__CallFlowPool] for recovery|#] The clustered instance, instance1, was successfully started. error 0 [#|2008-07-17T14:58:21.117+0200|WARNING|sun-appserver9.1| javax.enterprise.system.container.ejb| _ThreadID=13;_ThreadName=pool-1-thread-4;TimerBean; _RequestID=30827d9a-72ac-4854-b216-06494b6a9fb5; |EJB5108:Unable to initialize EJB Timer Service. The likely cause is the database has not been started or the timer database table has not been created.|#] error 1 [#|2008-07-17T14:58:23.106+0200|WARNING|sun-appserver9.1| javax.enterprise.resource.resourceadapter| _ThreadID=10;_ThreadName=main;__CallFlowPool; _RequestID=b41d76fa-0203-49f7-a2ae-83bf242d3e7a; |RAR5005:Error in accessing XA resource with JNDI name [__CallFlowPool] for recovery|#] Command start-cluster executed successfully. |
没有已知的解决方法。可忽略这些(异常)消息。
默认情况下,在 as-install/lib/package-appclient.xml 中有一个用于 domain1(由 asenv.conf 来指向)的 AS_ACC_CONFIG 变量的硬编码值。如果删除 domain1 并创建新域,将不会用新域名更新 AS_ACC_CONFIG 变量,从而导致 package-appclient 脚本失败。
执行以下操作之一:
保持 domain1 不变,围绕它创建其他域。
删除 domain1 并用新域名替换 as-install/lib/package-appclient.xml 中用于 domain1 的硬编码值。
如果 domain1 不存在,则每次创建新域时,都必须执行此操作。
J2SE 1.4.x, 5.0 或更高版本可以在 Application Server 上进行配置。J2SE 5.0 平台的完整功能是可以启动 JMX 代理。在服务器启动时,如果您明确设置了系统属性,此功能将被激活。
示例值包括:
name="com.sun.management.jmxremote" value="true" name="com.sun.management.jmxremote.port" value="9999" name="com.sun.management.jmxremote.authenticate" value="false" name="com.sun.management.jmxremote.ssl" value="false" |
在配置了 JMX 属性并启动服务器之后,将在 Application Server 虚拟机中启动新的 jmx-connector 服务器。此过程的副作用是会对管理功能造成不利影响,并且 Application Server 管理控制台和命令行界面可能会产生异常结果。出现此问题的原因在于内置 jmx-connector 服务器与新的 jmx-connector 服务器之间存在一些冲突。
如果使用 jconsole(或任何其他 JMX 兼容客户机),请考虑重新使用标准的 JMX Connector Server,它在 Application Server 启动时启动。
当服务器启动时,server.log 中会出现类似于如下所示的一行。您可以连接到其中指定的 JMXService URL,并在成功提供证书后执行相同的管理/配置操作,例如:
[#|2004-11-24T17:49:08.203-0800|INFO|sun-appserver-ee8.1| javax.enterprise.system.tools.admin|_ThreadID=10;|ADM1501: Here is the JMXServiceURL for the JMXConnectorServer: [service:jmx:rmi:///jndi/rmi://hostname:8686/management/ rmi-jmx-connector]. This is where the remote administrative clients should connect using the JSR 160 JMX Connectors.|#] |
文档中未介绍 .asadmintruststore 文件。如果服务器管理员的主目录中不包含此文件,在升级该服务器上的某些应用程序时可能会出现严重错误。
如果可能,应该由安装服务器的用户运行 asadmin start-domain domain1 命令。
如果不是由该用户运行的,应将 .asadmintruststore 从安装用户的主目录移动或复制到运行用户的主目录中。
请注意,如果将该文件从安装用户的主目录移动(而非复制)到运行用户的主目录,可能会出现错误 6309079、6310428 和 6312869 所述的应用程序升级问题,原因是升级/安装用户(通常是 Java ES 中的超级用户)的主目录中不再具有 .asadminstruststore 文件。
Communications Server 群集实例的默认 MQ 集成模式为 LOCAL。如果将 Communications Server 安装在长(即 "not short")位置 (PATH) 上,当群集实例启动时,imqbrokerscv.exe 会崩溃。此问题是 imqbrokersvc 中的内存分配问题。
必须将群集实例的 JMS 服务类型从默认的 LOCAL 更改为 REMOTE。在此配置中,所有实例都指回 DAS 代理。请遵照下面的说明,以 REMOTE 模式配置群集。
使用 REMOTE 模式时,所有实例都使用一个代理 (DAS),因此当 Communications Server 群集启动时,不会创建任何代理群集。有关更多信息,请参见 http://www.glassfishwiki.org/gfwiki/attach/OnePagersOrFunctionalSpecs/as-mq-integration-gfv2.txt 一页上 4.1 节第 iii 部分中的“自动群集”。上述功能将不可用!
根据您的环境修改端口和密码文件。请注意,在以下说明中,群集名称为 racluster,DAS 管理端口为 5858,DAS JMS 端口为 7676。
修改群集配置,将 JMS 类型更改为 REMOTE。
as-install/bin/asadmin.bat set --port 5858 --user admin --passwordfile \ as-install/bin/password_file racluster.jms-service.type=REMOTE |
创建对应于 DAS JMS 主机的 JMS 主机。
as-install/bin/asadmin.bat create-jms-host --port 5858 --user admin --passwordfile \ as-install/bin/password_file --target racluster --mqhost localhost --mqport 7676 \ --mquser admin --mqpassword admin dashost |
将默认的 JMS 主机设置为在上一步骤中创建的 DAS JMS 主机。
as-install/bin/asadmin.bat set --port 5858 --user admin --passwordfile \ as-install/bin/password_file racluster.jms-service.default-jms-host=dashost |
转至“配置”-> "cluster-name-config" ->“Java 消息服务”->“JMS 主机”。
单击“新建”以创建新的 JMS 主机,将其命名为 dashost。
输入对应于 DAS JMS 服务的配置设置,默认设置如下所示:
主机名:localhost
端口: 7676
管理员用户: admin
密码: admin
根据您的 DAS JMS 服务修改这些设置。
导航回“Java 消息服务”选项卡,并将 JMS 服务类型更改为 REMOTE(默认为 LOCAL)。
从 "default-jms-host" 下拉式列表中,选择 "dashost"。
保存更改,然后启动节点代理或群集。
当尝试使用某些不支持的浏览器显示“日志统计信息监视”页中的图表时,可能会抛出以下错误:
Error loading jmaki.widgets.jmaki.charting.line.Widget : id=form1:jmaki_chart11 Script: http://easqelx5.red.iplanet.com:4848/resources/jmaki/charting/ \ line/component.js (line:5437). Message: area.initialize is not a function |
使用支持的浏览器。有关 Communications Server 支持的浏览器的列表,请参阅浏览器。
在 AIX 操作系统上,尝试使用自定义主密码创建域失败,同时显示以下错误:
keytool error (likely untranslated): java.lang.NullPointerException Enter keystore password: New keystore password: |