點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!
在推進國產(chǎn)化中間件bes時,我們發(fā)現(xiàn)使用控制臺修改jvm堆最大最小值、元空間、HSF端口、數(shù)據(jù)源等配置信息的場景很多,但是使用控制臺修改配置非常有局限性,所以我上篇關(guān)于bes中間件的軟文,介紹了如何使用命令行的方式批量新增數(shù)據(jù)源。寶蘭德BES中間件(命令行方式)批量新建數(shù)據(jù)源
但是這種方式在逐漸進入自動化運維的時代中,也存在些許弊端,所以經(jīng)過實踐,我們講自動化新增bes的數(shù)據(jù)源這一場景在AMP平臺落地,在此分享給大家。
參數(shù)介紹
此編排引用的腳本需要如下幾個輸入?yún)?shù):
--driverclassname 數(shù)據(jù)庫驅(qū)動類名(bes中間件會通過解析數(shù)據(jù)庫驅(qū)動識別使用的數(shù)據(jù)庫)
--resourcetype java.sql.Driver(資源類型有如下幾種):
--servername 數(shù)據(jù)庫IP
--databaseport 數(shù)據(jù)庫端口
--databasename 數(shù)據(jù)庫實例名
--url url串
--username 數(shù)據(jù)庫賬號
--databasepassword 數(shù)據(jù)庫密碼
--name 數(shù)據(jù)源名稱
--maxpoolsize 數(shù)據(jù)源連接最大值
--initialpoolsize 數(shù)據(jù)源連接初始值
--minidle 數(shù)據(jù)源連接最小值
--INSTANCE_PORT 中間件的實例端口
最后參數(shù)為執(zhí)行用戶,然后選擇需要執(zhí)行的主機資源即可。
實現(xiàn)結(jié)果
執(zhí)行此編排,腳本會解析中間件實例端口,在執(zhí)行此操作用戶的對應(yīng)單個或多個實例下,進行新增bes中間件的數(shù)據(jù)源,url,數(shù)據(jù)源最大值,最小值,初始值,實例名等都會解析上面提供的參數(shù)當做入?yún)⑦M行新增;并且數(shù)據(jù)源默認的探測語句為:"SELECT 1 FROM DUAL";且會新增兩個$屬性:
$session.terminal=IP
$session.program=實例名#數(shù)據(jù)源名稱
在bes控制臺結(jié)果如下圖所示:
實現(xiàn)腳本
#!/bin/bash
## 入?yún)?/span>
HOST_IP=`ifconfig |grep "inet" | awk -F "[: ]+" {print $3}| head -n1`
USER_NAME=`whoami`
DB_DRIVERCLASS=${DB_DRIVERCLASS}
DB_RESOURCETYPE=${DB_RESOURCETYPE}
DB_ADDRESS=${DB_ADDRESS}
DB_DATABASEPORT=${DB_DATABASEPORT}
DB_SERVERNAME=${DB_SERVERNAME}
DB_URL=${DB_URL}
DB_USERNAME=${DB_USERNAME}
DB_PASSWORD=${DB_PASSWORD}
JDBC_NAME=${JDBC_NAME}
JDBC_MAXPOOLSIZE=${JDBC_MAXPOOLSIZE}
JDBC_INITIALPOOLSIZE=${JDBC_INITIALPOOLSIZE}
JDBC_MINIDLE=${JDBC_MINIDLE}
INSTANCE_PORT_LIST=${INSTANCE_PORT_LIST}
INSTANCE_PORT_ARRY=(${INSTANCE_PORT_LIST//,/ })
for INSTANCE_PORT in ${INSTANCE_PORT_ARRY[@]}
do
INSTANCE_NUM=${INSTANCE_PORT:0-2}
INSTANCE_NAME="${USER_NAME}instance${INSTANCE_NUM}"
INSTANCE_HOME="/${USER_NAME}/bes952/${INSTANCE_NAME}"
PASSWORD_FILE="${INSTANCE_HOME}/bin/passwordfile"
if [ -f ${PASSWORD_FILE} ]
then
cd ${INSTANCE_HOME}/bin
./iastool --user admin --passwordfile ${PASSWORD_FILE} --port ${INSTANCE_PORT} create --jdbc-resource --driverclassname ${DB_DRIVERCLASS} --resourcetype ${DB_RESOURCETYPE} --servername ${DB_ADDRESS} --databaseport ${DB_DATABASEPORT} --databasename ${DB_SERVERNAME} --url ${DB_URL} --username ${DB_USERNAME} --databasepassword ${DB_PASSWORD} --maxpoolsize ${JDBC_MAXPOOLSIZE} --initialpoolsize ${JDBC_INITIALPOOLSIZE} --minidle ${JDBC_MINIDLE} --validationquery "SELECT 1 FROM DUAL" --properties "v$session.terminal=${HOST_IP}:v$session.program=${INSTANCE_NAME}#${JDBC_NAME}" ${JDBC_NAME}
if [ $? -ne 0 ]
then
echo "--------------${INSTANCE_NAME} ,${JDBC_NAME}新增失敗,請核查-------------------"
else
echo "--------------${INSTANCE_NAME} ,${JDBC_NAME}新增成功-------------------"
fi
else
echo "--------------${PASSWORD_FILE}文件不存在,請核查----------------"
fi
sleep 5
done
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129467.html
摘要:練級攻略的縱向編輯模式第一步修改將數(shù)列中第二段所有數(shù)字修改為將游標定位第一個行的進入縱向編輯模式移動游標到最后一行,可視塊覆蓋所要修改的列進入修改模式輸入數(shù)字第二步前添加在所有行之前添加將游標定位到第一行第一列進入縱向編輯模式 vimtutor showImg(https://segmentfault.com/img/bV4OLS?w=600&h=400); intro vim hi...
摘要:函數(shù)允許你將多維數(shù)組轉(zhuǎn)換為使用點符號的一維數(shù)組。返回應(yīng)用程序中公共目錄的完全限定的絕對路徑。要解決此問題,只需運行以下命令即可使用包將字符串轉(zhuǎn)換為復(fù)數(shù)形式。接受兩個參數(shù)一個值和一個閉包。該值將被傳遞給閉包,然后該值將被返回。 array_dot() 函數(shù)允許你將多維數(shù)組轉(zhuǎn)換為使用點符號的一維數(shù)組。 $array = [ user => [username => somethin...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20