weblogic 脚本创建Managed Server (受管服务器)

栏目: Java · 发布时间: 5年前

内容简介:wlst位于wlst有

说明

weblogic 安装目录下有一个创建 Managed Server 的脚本,脚本位于 /u01/app/Oracle/Middleware/oracle_common/common/bin/config.sh 下,但脚本会启动一个GUI界面程序,在 Linux 下需要安装图形界面程序,非常不方便。 wlst(WebLogic Scripting Tools,WebLogic) 是一个用来管理和配置weblogic的CLI命令行工具,可以运行 Jython 脚本,本文介绍如何通过该 工具 创建Managed Server。

WLST介绍

wlst位于 /u01/app/Oracle/Middleware/wlserver_10.3/common/bin/wlst.sh 目录下,其中 /u01/app/Oracle/Middleware/wlserver_10.3 目录为 $WEBLOGIC_HOME ,所以严谨的讲,是安装在 $WEBLOGIC_HOME/common/bin/wlst.sh 下。直接执行该脚本即可运行wlst工具。

$ cd /u01/app/Oracle/Middleware/wlserver_10.3/common/bin/
$ ./wlst.sh

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

wls:/offline> connect('weblogic','weblogic1','t3://localhost:7001')
Connecting to t3://localhost:7001 with userid weblogic ...
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'base_domain'.

Warning: An insecure protocol was used to connect to the
server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.

wls:/base_domain/serverConfig> cd('/')
wls:/base_domain/serverConfig> ls()
dr--   AdminConsole
dr--   AppDeployments
dr--   BridgeDestinations
dr--   Clusters
dr--   CoherenceClusterSystemResources
dr--   CoherenceServers
....

wlst有 offline(离线)online(在线) 两种模式,通过 connect 命令可以从offline进入online,wlst按照liux目录形式对weblogic资源进行管理,甚至连操作的命令都和linux高度相似,比如 cd 是切换到指定资源路径下, ls() 是列出该目录下所有资源。如要了解更多关于wlst的内容,可以查看 官方文档

wlst脚本

本脚本原作者为 Tim Hall ,本文这里稍作修改,以下为脚本代码

create_managed_server.py

#!/usr/bin/python
# Author : Tim Hall
# Modified : Jianfeng.Zheng
# Save Script as : create_managed_server.py

import time
import getopt
import sys
import re

# Get location of the properties file.
properties = ''
try:
   opts, args = getopt.getopt(sys.argv[1:],"p:h::",["properies="])
except getopt.GetoptError:
   print 'create_managed_server.py -p <path-to-properties-file>'
   sys.exit(2)
for opt, arg in opts:
   if opt == '-h':
      print 'create_managed_server.py -p <path-to-properties-file>'
      sys.exit()
   elif opt in ("-p", "--properties"):
      properties = arg
print 'properties=', properties

# Load the properties from the properties file.
from java.io import FileInputStream
 
propInputStream = FileInputStream(properties)
configProps = Properties()
configProps.load(propInputStream)

# Set all variables from values in properties file.
adminUsername=configProps.get("admin.username")
adminPassword=configProps.get("admin.password")
adminURL=configProps.get("admin.url")
msName=configProps.get("ms.name")
msAddress=configProps.get("ms.address")
msPort=configProps.get("ms.port")
msMachine=configProps.get("ms.machine")

# Display the variable values.
print 'adminUsername=', adminUsername
print 'adminPassword=', adminPassword
print 'adminURL=', adminURL
print 'msName=', msName
print 'msAddress=', msAddress
print 'msPort=', msPort
print 'msMachine=', msMachine

# Connect to the AdminServer.
connect(adminUsername, adminPassword, adminURL)

edit()
startEdit()

# Create the managed Server.
cd('/')
cmo.createServer(msName)
cd('/Servers/' + msName)
cmo.setListenAddress(msAddress)
cmo.setListenPort(int(msPort))


# Associated with a node manager.
cd('/Servers/' + msName)
cmo.setMachine(getMBean('/Machines/' + msMachine))

save()
activate()

disconnect()
exit()

properties文件

脚本所需参数通过properties文件传入,以下是properties文件

api-api-managed-server.properties

# AdminServer connection details.
admin.username=weblogic
admin.password=weblogic1
admin.url=t3://10.1.11.71:7001

ms.name=api-server
ms.address=0.0.0.0
ms.port=7002
ms.machine=api-server-machine

admin.username : weblogic管理员用户名

admin.password : weblogic管理员密码

admiin.url : weblogic控制台地址需要加上t3协议字段

ms.name : managed server名称,可以自定义

ms.address : managed server监听地址

ms.port : managed server监听端口号

ms.machine : managed server关联的计算机名称

ms.machine 需要提前创建好,可以在weblogic控制台页面 http://localhost:7001/console/console.portal?_nfpb=true&_pageLabel=CoreMachineMachineTablePage 创建

运行

create_managed_server.pyapi-api-managed-server.properties 文件上传到服务器,这里上传到目录 ~/shell

$ cd /u01/app/Oracle/Middleware/user_projects/domains/base_domain/bin
$ . ./setDomainEnv.sh
$ java weblogic.WLST ~/shell/create_managed_server.py -p ~/shell/api-managed-server.properties

ps:. ./setDomainEnv.sh第一个点(.)不能省略

执行完毕后登录console查看结果。

参考


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

操作系统概念(第六版)

操作系统概念(第六版)

(美)西尔伯斯查兹 / 郑扣根 / 高等教育出版社 / 2005-11 / 55.00元

《操作系统概念》(第6版翻译版)是讨论了操作系统中的基本概念和算法,并对大量实例(如Linux系统)进行了研究。全书内容共分七部分。第一部分概要解释了操作系统是什么、做什么、是怎样设计与构造的,也解释了操作系统概念是如何发展起来的,操作系统的公共特性是什么。第二部分进程管理描述了作为现代操作系统核心的进程以及并发的概念。第三部分存储管理描述了存储管理的经典结构与算法以及不同的存储管理方案。第四部分......一起来看看 《操作系统概念(第六版)》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具