weblogic SSH版本的Nodemanager的配置
AS所在主机为 192.168.1.88 下简称node1,需要远程管理的主机为192.168.1.99 下简称node2
===================SSH信任=======================
1、用同样的用户创建Domain和启动服务器(远程与否),本例统一用weblogic
2、在node1上生成用户密钥》ssh-keygen -t dsa
3、拷贝到node2,如果还有其他需要远程管理的,也要这样做.
?node1:> scp .ssh/id_dsa.pub? weblogic@192.168.1.99:./
4、建立信任
?在node1上执行
?> ssh -l weblogic 192.168.1.99 #远程登录(这一次要输入密码)
?> mkdir .ssh
?> chmod 700 .ssh
?> touch .ssh/authorized_keys2
?> chmod 700 .ssh/authorized_keys2
?> cat id_dsa.pub >> .ssh/authorized_keys2
?> rm id_dsa.pub
?> exit
5、在node1上执行
?> ssh -l weblogic 192.168.1.99 #这一次应该可以直接进去了
?现在说明node1可以使用这个命令远程登录到node2上而不用弹出密码,这对自动管理很有好处
DOMAIN_NAME为域的名字,?DOMAIN_HOME为域的目录
==========================远程启动管理服务器==========================
先本地用Nodemanager启动一遍,我们用wlscontrol.sh,它在$WL_HOME/common/bin/目录下
> $WL_HOME/common/bin/wlscontrol.sh -d DOMAIN_NAME -r? DOMAIN_HOME -c -f startWebLogic.sh -s AdminServer START
停掉它,再远程启动,比如说到node2上面开一个终端去启动
> ssh -l weblogic -o
PasswordAuthentication=no %p 22 192.168.1.88? wlscontrol.sh在node1上的绝对路径
-d DOMAIN_NAME -r DOMAIN_HOME -c -f startWebLogic.sh -s AdminServer
START
==========================远程启动受管服务器====================
1、还是先nmEnroll()把域的工作目录挡下来
?在node2上执行
?wlst:
?connect('weblogic','weblogic','t3://192.168.1.88:7001')
?nmEnroll('/u02/weblogic/wlserver_10.3/common/nodemanager/domain_88')#前提是先建这个目录,这就是Domain工作目录
?exit()
2、把domain的bin目录拷贝到本地
?在node2上的Domain工作目录下创建bin目录(如果还没有这个目录的话)
?
?在node1上执行
?scp DOMAIN_HOME/bin/* weblogic@192.168.1.99:DOMAIN_WORK_HOME/bin
?DOMAIN_WORK_HOME=DOMAIN在node2上的工作目录
3、到node2上去修改刚才拷贝的脚本,因为这里面的脚本就是管理服务器用来远程启动的shell脚本
?a.Edit the DOMAIN_HOME and LONG_DOMAIN_HOME variables in the setDomainEnv.sh
?b.edit the DOMAIN_HOME variable in startWebLogic.sh
?c.Edit the DOMAIN_HOME and ADMIN_URL variables in startManagedWebLogic.sh
?
?Note:假如使用了ssl,还应该在startWebLogic.sh的启动脚本中加知道密钥库和主机名验证的代码,我这里用的是demo
?-Dweblogic.security.TrustKeyStore=DemoTrust -Dweblogic.security.SSL.ignoreHostnameVerification=true
4、切换到node2的Domain工作目录
?mkdir -p servers/Server-99-0/security?#创建Server目录
?在security目录下
?vi boot.properties?#创建启动标识文件,添加用户名和密码键值对
?username=***
?password=***
5、先本地启动试试
?./wlscontrol.sh -d DOMAIN_NAME -n NM_HOME -c -f startManagedWebLogic.sh -s MS_NAME START
?实际的例子
?./wlscontrol.sh
-d base_domain -n /u02/weblogic/wlserver_10.3/common/nodemanager/ -c -f
startManagedWebLogic.sh -s Server-99-0 START
6、SSH远程启动,可以在node1上面来做
?ssh
-l weblogic -o PasswordAuthentication=no -p 22 192.168.1.99
WL_HOME/common/bin/wlscontrol.sh -d DOMAIN_NAME -n NM_HOME -c -f
startManagedWebLogic.sh -s MS_NAME START
?实际例子
?ssh -l weblogic -o
PasswordAuthentication=no -p 22 192.168.1.99
/u02/weblogic/wlserver_10.3/common/nodemanagerbin/wlscontrol.sh -d
base_domain -n /u02/weblogic/wlserver_10.3/common/nodemanager/ -c -f
startManagedWebLogic.sh -s Server-99-0 START
=======================管理控制台启动受管Server============================
经过以上步骤,可以说明能够远程SSH启动了,把上面的远程启动脚本改写一下,主要是有的地方要用变量替换,然后作为管理控制台的Shell命令
现在控制台配置UNIX Machine添加Server,关键是Nodemanager的选项:
Property?????|Value
O.S. Type?????|UNIX
Node Manager Type???|SSH
Node Manager Listen Address |<primary-ip-address> (not floating IP address)
Node Manager Listen Port?|22
Node Manager Home???|NM_HOME
Node
Manager Shell Command?|ssh -l weblogic -o PasswordAuthentication=no -p
%P %H WL_HOME/common/bin/wlscontrol.sh -d %D -n NM_HOME -c -f
startManagedWebLogic.sh -s %S %C
Node Manager Debug Enabled?|true
Shell Command实际例子:
ssh -l weblogic -o PasswordAuthentication=no -p
%P %H /u02/weblogic/wlserver_10.3/common/bin/wlscontrol.sh -d %D -n
/u02/weblogic/wlserver_10.3/common/nodemanager -c -f
startManagedWebLogic.sh -s %S %C
然后就可以在控制台远程启动、关闭Server了