David.Turing's blog

           

          關于配置Weblogic的NodeManager服務

          我看到一些文章,包括Steve Roth寫的<<結合使用WebLogic Node Manager Service和WebLogic Portal>>,文章可能過于復雜,讓一些Weblogic使用者有點頭暈,于是增加一篇隨筆,介紹一下配置NodeManager服務的簡單方法。

          如果你還沒構建自己的證書庫,則有點麻煩,因為在這里,我可能使用了openssl和keytool。使用NodeManager的遠程啟動Weblogic的方式,你需要配置SSL。因為AdminServer想啟動遠程的ManagedServer,需要通過SSL來跟遠程的NodeManager握手。

          假定我們規劃一個這樣的域,叫做nodemanagerdomain
          這個域中,
          Weblogic實例?? -----???? 機器
          AdminServer????? -----??? sourcesite
          m1?????????????????????-----???? sourcesite
          m2?????????????????????-----???? destsite
          AdminServer最終想做的事情是啟動m1實例和m2實例,他們三個實例都必須配置SSL。
          通過Custom Identity and Custom Trust 方式,配置好這三個實例,確保他們之間的握手是沒有問題的,配置的動作全部都在AdminServer上進行,包括
          1)在AdminServer上, new 2個server, m1, m2
          2)在AdminServer上,new2個machine, sourcesite和destsite
          3)在sourcesite中加入m1, 在destsite中加入m2
          sourcesite配置如下:
          Listen Address:?? sourcesite
          ? The host name or IP address where Node Manager listens for connection requests.?
          ?? Listen Port:??5555
          ? The port number (between 0 and 65534) where Node Manager listens for connection requests.?

          destsite配置如下:
          Listen Address:???destsite
          ? The host name or IP address where Node Manager listens for connection requests.?
          ?? Listen Port:??5555
          ? The port number (between 0 and 65534) where Node Manager listens for connection requests.?

          OK,現在請把著兩個nodemanager啟動起來!

          NodeManager是作為一個操作系統的監聽進程運行的,它主要負責聽從
          %BEA_HOME%\weblogic81\common\nodemanager\nodemanager.properties中指定的機器上的AdminServer發送過來的命令。
          比如,NodeManager可能會獨自啟動一個managedServer的實例,類似命令
          startManagedWebLogic.cmd?
          < server_name > ?http://adminserver:7001

          所以,目前,在遠程機器上,你只需要做兩件事情即可
          1,配置nodemanager.properties
          配置下面的內容
          CustomTrustKeyStorePassPhrase=weblogic
          KeyStores=CustomIdentityAndCustomTrust
          CustomIdentityKeyStoreFileName=destsite.jks
          CustomIdentityKeyStorePassPhrase=weblogic
          PropertiesVersion=8.1
          CustomIdentityAlias=destsite
          CustomTrustKeyStoreFileName=cs.jks
          CustomIdentityPrivateKeyPassPhrase=weblogic
          ReverseDnsEnabled=true
          CustomIdentityKeyStoreType=JKS

          2,?配置nodemanager.hosts
          增加AdminServer所在的機器名,比如,當前機器是destsite要聽從sourcesite上的AdminServer的指揮,則加入
          sourcesite

          現在,啟動NodeManager服務即可
          在Windows上,假如你沒有創建NodeManager服務,可以編輯一下
          運行C:\bea814\weblogic81\server\bin\installNodeMgrSvc.cmd?weblogic?weblogic
          即可生成一個NodeManager服務到Windows的服務列表里面,然后設為自動啟動即可。
          Windows好辦很多,很多時候,我自己的習慣是不使用Windows服務方式,而是啟動命令行Dos窗口,
          方便觀察啊!
          C:\bea814\weblogic81\server\bin>startNodeManager.cmd

          在Unix上,將sh?startNodeManager.sh?destsite?5555加入啟動腳本即可,或者索性直接運行它即可。

          配置完兩臺機器的nodemanager并且啟動它們後,我們就可以用AdminServer(在sourcesite上面)來控制它了。
          如果adminserver沒法跟nodemanager進行SSL握手,它會報下面的錯誤
          [NodeManager:300037]The node manager at host destsite and port 5555 seems to be down. Start the node manager and rerun the command.
          假定我現在已經在兩臺機器都重啟了兩個NodeManager服務了,并且假設SSL握手已經成功(這個假設對配置SSL不熟悉的人來說有點難度)。
          假定配置好後,我們嘗試點擊Machine destsite的monitor tab的?Node Manager Status?
          則會出現下面的錯誤:
          [[NodeManager:300033]Could not execute command ping on the node manager. Reason: weblogic.nodemanager.NodeManagerException: [NodeManager is not configured to receive commands from host : /192.168.1.111. Please update the trusted hosts file : nodemanager.hosts of the node manager by adding the hostname or ip address of /192.168.1.111> ].]
          這是因為你AdminServer要連destsite的時候,destsite上正在5555監聽的進程會查閱當前的nodemanager.hosts文件,看里面AdminServer所在的主機是否在nodemanager.hosts里面聲明了,如果沒有,則報上面的錯,即,不讓不信任的機器來往destsite的機器上nodemanager服務執行start/stop操作。
          現在,往destsite的nodemanager.hosts里面新增一個sourcesite,即可。
          這次,刷新Node Manager Status?,會看到
          This page allows you to view current status information for the Node Manager.

          State : RUNNING
          BEA.home : null
          weblogic.nodemanager.javaHome : C:\bea814\jdk142_05
          weblogic.nodemanager.listenAddress : *.*
          weblogic.nodemanager.listenPort : 5555
          CLASSPATH : .;C:\ bea814\ jdk142_05\ lib\ tools.jar;C:\ bea814\ WEBLOG~1\ server\ lib\ weblogic_sp.jar;C:\ bea814\ WEBLOG~1\ server\ lib\ weblogic.jar

          證明SSL握手已經成功,AdminServer可以控制destsite的nodemanager并要求它來啟動m2的實例。

          剩下的,看看如何配置sourcesite.jks,destsite.jks以及cs.jks。
          這三個jks的關系是:
          在sourcesite機器上的adminserver實例使用sourcesite.jks和cs.jks
          在sourcesite機器上的m1實例使用sourcesite.jks和cs.jks
          在destsite機器上的m2實例使用destsite.jks和cs.jks
          在weblogic的Keystore配置中,sourcesite.jks和destsite.jks是配置為Identity部分,而cs.jks則作為Trust部分,
          相關的配置SSL的方法請參見http://www.aygfsteel.com/security/archive/2005/11/28/21593.html











          posted on 2007-09-04 15:20 david.turing 閱讀(14223) 評論(2)  編輯  收藏 所屬分類: Security領域

          評論

          # re: 關于配置Weblogic的NodeManager服務 2007-09-06 12:00 david.turing

          如果嫌SSL配置麻煩,可以使用Demo Identity和Demo Trust,即不過,還有一種更簡單的方式,即nodemanager.properties中使用Demo方式(反注釋Demo哪一行即可),其他配置一樣。  回復  更多評論   

          # re: 關于配置Weblogic的NodeManager服務 2007-09-22 00:02 CALM

          9.2版本的配置是不是有些區別呀?  回復  更多評論   

          導航

          統計

          常用鏈接

          留言簿(110)

          我參與的團隊

          隨筆分類(126)

          隨筆檔案(155)

          文章分類(9)

          文章檔案(19)

          相冊

          搜索

          積分與排名

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宣化县| 门源| 鲁山县| 肃宁县| 茂名市| 德庆县| 岳普湖县| 儋州市| 行唐县| 全南县| 红安县| 嘉鱼县| 高青县| 新沂市| 玉环县| 阳原县| 文水县| 古浪县| 岗巴县| 无棣县| 磐安县| 北京市| 勐海县| 东阿县| 昌图县| 剑河县| 长宁区| 乐东| 宁化县| 庄浪县| 淮北市| 甘泉县| 吴江市| 西昌市| 平顺县| 灯塔市| 禹州市| 平阴县| 孟津县| 黄石市| 庆元县|