[WLS] Weblogic 10.3.4 (PS3) nodemanager wont start?

オーストラリアから帰ってきたら、SOA SuiteとWebCenter SuiteのPS3がリリースされていました。通常はプリインストールのイメージを使うのですが、少なくとも一度はインストール時の注意事項を確認するためにインストールしてみるのです。
で、今回はWindows 7(64bit) + 64bit JVMにWebLogic Serverをgenericインストーラでインストールし、問題なく完了しました…が、ノードマネージャが起動できないのです。そのときのエラーは以下のようでした。
<08-Feb-2011 17:16:48> <INFO> <Loading domains file: D:\products\wls1034\WLSERV~1.3\common\NODEMA~1\nodemanager.domains>
<08-Feb-2011 17:16:48> <SEVERE> <Fatal error in node manager server>
weblogic.nodemanager.common.ConfigException: Native version is enabled but nodemanager native library could not be  loaded
    at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:249)
    at weblogic.nodemanager.server.NMServerConfig.<init>(NMServerConfig.java:190)
    at weblogic.nodemanager.server.NMServer.init(NMServer.java:182)
    at weblogic.nodemanager.server.NMServer.<init>(NMServer.java:148)
    at weblogic.nodemanager.server.NMServer.main(NMServer.java:390)
    at weblogic.NodeManager.main(NodeManager.java:31)
Caused by: java.lang.UnsatisfiedLinkError: D:\products\wls1034\wlserver_10.3\server\native\win\32\nodemanager.dll:  Can't load IA 32-bit .dll on a AMD 64-bit platform
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1728)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1028)
    at weblogic.nodemanager.util.WindowsProcessControl.<init>(WindowsProcessControl.java:17)
    at weblogic.nodemanager.util.ProcessControlFactory.getProcessControl(ProcessControlFactory.java:24)
    at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:247)
    ... 5 more 
64bit JVMにインストールしたのに、ノードマネージャが32bitのWebLogic Serverと勘違いしていることが原因のようです。インストール時に何か設定(例えば、JVMコマンドラインの -d64オプション)が足りなかったのかもしれませんが、実はこの例外を簡単に回避できます。
  1. <WebLogic_Home>/common/nodemanager に nodemanager.properties ファイルを作成し、
  2. 以下の行を追加します
    NativeVersionEnabled=false
  3. その後、ノードマネージャを起動します
この設定で、.dllファイルを使わずに、emulation/非nativeメソッドを使うよう強制することができます。

原文はこちら。
http://blogs.oracle.com/angelo/2011/02/weblogic_1034_ps3_nodemanager.html

0 件のコメント:

コメントを投稿