在 Solaris 操作系统上,必须先执行一些步骤以准备操作系统,然后才能安装
IBM® WebSphere® Application Server 产品。
开始之前
安装过程使用安装管理器。您可以使用图形界面、命令行或响应文件。
限制: 在远程 Solaris 机器上使用 Cygwin/X 运行基于 Eclipse
的应用程序存在已知问题。这将影响您对 Profile Management Tool 的使用。例如,在远程 Solaris 上存在 Cygwin/X
的情况下,将显示 Profile Management Tool 的欢迎面板,但不接受任何键盘或鼠标输入。如果使用了另一个 X 服务器(例如,Hummingbird Exceed®),那么不存在这些问题。
要点: 在 Solaris 平台上,由于 X 服务器的问题,仅在使用
VNC 时才支持远程 IBM Installation Manager 图形用户界面 (GUI) 处理。
关于此任务
准备操作系统涉及到诸如为操作系统分配磁盘空间和安装补丁等更改。IBM 将在每个操作系统平台上测试
WebSphere Application Server 产品。 这些测试将验证是否需要对操作系统进行更改以便正确运行
WebSphere Application Server 产品。不进行必需的更改,WebSphere
Application Server 产品就不会正确运行。
过程
- 登录至操作系统。
作为 root 用户或者作为非 root 安装程序登录。
选择允许所有者读写文件并允许其他人根据主要系统策略访问这些文件的 umask。对于 root 用户,建议选择 umask 022。对于非
root 用户,可以根据用户是否共享组而使用 umask 002 或 022。要验证 umask 设置,请发出以下命令:
umask
要将 umask 设置设置为 022,发出以下命令:
umask 022
- 当您设置系统时,务必选中选择 Solaris 软件组面板上的整个组选项。
- 可选: 下载并安装 Mozilla Firefox Web 浏览器。
- 可选: 导出受支持的浏览器的位置。
使用识别浏览器的实际位置的命令来导出受支持的浏览器的位置。
例如,如果 Mozilla Firefox 软件包位于
/opt/bin/firefox 目录中,您可以使用以下命令:
export BROWSER=/opt/bin/firefox
- 停止您要在其上安装产品的机器的与 WebSphere Application Server 相关的所有 Java™ 进程。
- 停止任何 Web 服务器进程(如 IBM HTTP Server)。
- 提供足够的磁盘空间。
需要的磁盘空间量随所安装的功能部件或产品数量不同而变化。如果您要使用 Installation Manager 来安装产品,那么安装摘要面板将根据您选择的功能部件和产品来指出大约需要的磁盘空间量。
安装所有功能部件和产品大约需要 2 GB 磁盘空间。此估计值包括下列产品、组件和功能部件所需要的磁盘空间:- 主应用程序服务器产品安装版本
- 概要文件
- 样本应用程序
- IBM HTTP Server
- Web 服务器插件
- Application Client for WebSphere Application Server
如果打算从前一个版本迁移应用程序和配置,那么验证应用程序对象是否具有足够的磁盘空间。作为粗略准则,计划空间等于应用程序大小的 110%。
- 设置内核值以支持 Application Server。 多个 Solaris 内核值通常太小。
内核值在 /etc/project 文件中设置。
资源控制在 /etc/system 项目文件中设置。资源控制是 Solaris 11 的新增内容,并且将取代某些内核值的使用。
以下示例显示了一些内核值的设置以及这些设置进行了哪些更改。
set semsys:seminfo_semmni = 1024 (a resource control in Solaris 11)
set semsys:seminfo_semmns = 16384 (removed in Solaris 11)
set semsys:seminfo_semmsl = 100 (a resource control in Solaris 11)
set semsys:seminfo_semopm = 100 (a resource control in Solaris 11)
set semsys:seminfo_semmnu = 2048 (removed in Solaris 11)
set rlim_fd_cur=1024
Solaris 11 操作系统
使用下列资源控制来替换
/etc/system 内核值:
Old Old New New
Resource control tunable default Max default
Value
---------------------- ------------- ------- --------- -----
process.max-msg-qbytes msginfo_msgmnb 4096 ULONG_MAX 65536
process.max-msg-messages msginfo_msgtql 40 UINT_MAX 8192
process.max-sem-ops seminfo_semopm 10 INT_MAX 512
process.max-sem-nsems seminfo_semmsl 25 SHRT_MAX 512
project.max-shm-memory shminfo_shmmax 0x800000 UINT64_MAX 1/4*
* (New default is 1/4 of physical memory)
project.max-shm-ids shminfo_shmmni 100 2**24 128
project.max-msg-ids msginfo_msgmni 50 2**24 128
project.max-sem-ids seminfo_semmni 10 2**24 128
现在,下列可调整项在
Solaris 11 操作系统中已过时:
Shared Memory Semaphores Message-Queue
-------------- -------------- ---------------
shminfo_shmseg seminfo_semmns msginfo_msgmax
shminfo_shmmin seminfo_semvmx msginfo_msgssz
shminfo_shmmax* seminfo_semmnu msginfo_msgmni*
shminfo_shmmni* seminfo_semaem msginfo_msgtql*
seminfo_semume msginfo_msgmnb*
seminfo_semusz msginfo_msgmap
seminfo_semmap msginfo_msgseg
seminfo_semmsl*
seminfo_semopm*
seminfo_semmni*
values ending in * are technically obsolete, but if they are present
in the /etc/system file then at system boot, the kernel will translate the
values into global resource controls.
以下是重要的资源控制:
*project.max-shm-ids: Maximum shared memory IDs for a project.
Replaces shmmni
*project.max-sem-ids: Maximum semaphore IDs for a project.
Replaces semmni
*project.max-msg-ids: Maximum message queue IDs for a project.
Replaces msgmni
*project.max-shm-memory: Total amount of shared memory allowed for a project.
Replaces shmmax
*process.max-sem-nsems: Maximum number of semaphores allowed persemaphore set.
Replaces semmsl
*process.max-sem-ops: Maximum number of semaphore operations allowed persemop.
Replaces semopm
*process.max-msg-qbytes: Maximum number of bytes of messages on a message queue.
Replaces msgmnb
*process.max-msg-messages: Maximum number of messages on a message queue.
Replaces msgtql
有关调整 Solaris 以与 WebSphere Application Server 协同运行的特定建议,请参阅“调整 Solaris 系统”主题。
通过编辑 Solaris 11 中的 /etc/project 文件,然后重新引导操作系统,可以更改内核值。有关设置 Solaris 系统的更多信息,请参阅 Sun Microsystems 文档。例如,Solaris 可调参数引用手册。
- 验证必备软件产品和并存产品是否符合所要求的发行版级别。
虽然 Installation Manager 会检查必备的操作系统补丁,但是如果您尚未复查支持的硬件和软件 Web
站点上的必备软件产品,那么应执行此操作。请参阅非 IBM 必备软件产品和并存产品的文档,以了解如何迁移至他们支持的版本。
注: 如果 Solaris 系统没有足够的可用内存
(“支持的硬件和软件”Web 站点提供了相应的值),那么在安装期间,您可能会遇到以下先决条件错误:“未检测到受支持的操作系统体系结构”。如果您继续执行安装直至结束,那么还可能会看到以下指出磁盘空间不足的错误:
java.io.IOException: Cannot run program "sh": error=12, Not enough space
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:466)
请释放机器上的更多内存,然后重试安装。
- 当使用 emacs 或其他免费软件时,验证系统 cp 命令。
如果操作系统上安装了 emacs 或其他免费软件,那么验证是否使用了系统
cp 命令。
- 运行 WebSphere Application Server 产品的安装程序之前,请输入以下命令提示符。
which cp
- 如果结果目录输出包含 freeware,那么从路径中除去 freeware 目录。例如,假设输出的内容与以下消息相似:.../freeware/bin/cp。如果与此相似,那么将目录从路径中除去。
- 安装 WebSphere Application Server 产品。
- 将 freeware 目录添加回到路径中。
如果您通过 cp 命令(免费软件包的一部分)安装,那么安装看来可能会成功完成,但是产品安装的 Java
2 SDK 在 app_server_root/java 目录下可能会缺少文件。
缺少文件可能会破坏所需的符号链接。如果您从路径中除去 freeware cp
命令,那么您可以成功地安装 Application Server 产品。
- 如果创建了自己的光盘,那么验证安装映像光盘上的 Java SDK 是否正常运行。
例如,您可能已经从 Passport Advantage® 下载了安装映像,也可能已经将安装映像复制到一张备份光盘上。在任何一种情况下,执行以下步骤来验证光盘中是否包含有效的 Java 软件开发包 (SDK)。
- 将目录切换至产品光盘上的 /JDK/jre.pak/repository/package.java.jre/java/jre/bin 目录。 例如:
cd /JDK/jre.pak/repository/package.java.jre/java/jre/bin
- 验证 Java 版本。 输入以下命令:
./java -version
如果 SDK 是完整的,那么会成功完成此命令且不会产生任何错误。
下一步做什么
验证先决条件和产品磁盘空间并设置安装目标之后,就可以开始安装了。使用下列其中一个链接来打开您需要的安装过程。
完成安装之后,您可以检查以下设置脚本,以了解有关
Solaris 11 的初始设置的信息。
echo "V2014-06-20"
echo "master version -> https://rtpmsa.raleigh.ibm.com/msa/projects/t/testappbinaries/OS/ossetup.zip"
echo ""
#
#
### check if the .txt file exists
if [ ! -f "hostlist.txt" ]; then
echo "-- hostlist.txt file does not exist. cp hostlist.txt.TEMPLATE hostlist.txt and add your hosts"
echo "-- Processing halted"
exit 1
fi
for hostName in `cat hostlist.txt`
do
echo "checking: $hostName"
ssh $hostName 'grep "ulimit -n 20000" /etc/profile'
if [ $? != 0 ]; then
ssh $hostName 'echo "ulimit -n 20000" >> /etc/profile'
echo "set the ulimit on $hostName"
fi
ssh $hostName 'grep "semsys:seminfo_semopm = 200" /etc/system'
if [ $? != 0 ]; then
ssh $hostName 'echo "semsys:seminfo_semopm = 200" >> /etc/system'
echo "set the seminfo_semopm on $hostName"
fi
ssh $hostName 'ipadm set-prop -p _conn_req_max_q=8000 tcp'
ssh $hostName 'ipadm set-prop -p _time_wait_interval=30000 tcp'
ssh $hostName 'ipadm set-prop -p _fin_wait_2_flush_interval=67500 tcp'
ssh $hostName 'ipadm set-prop -p _keepalive_interval=300000 tcp'
done