點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!
在推進國產化中間件bes時,我們發現使用控制臺修改jvm堆最大最小值、元空間、HSF端口、數據源等配置信息的場景很多,但是使用控制臺修改配置非常有局限性,所以我上篇關于bes中間件的軟文,介紹了如何使用命令行的方式批量新增數據源。寶蘭德BES中間件(命令行方式)批量新建數據源
但是這種方式在逐漸進入自動化運維的時代中,也存在些許弊端,所以經過實踐,我們講自動化新增bes的數據源這一場景在AMP平臺落地,在此分享給大家。
參數介紹
此編排引用的腳本需要如下幾個輸入參數:
--driverclassname 數據庫驅動類名(bes中間件會通過解析數據庫驅動識別使用的數據庫)
--resourcetype java.sql.Driver(資源類型有如下幾種):
--servername 數據庫IP
--databaseport 數據庫端口
--databasename 數據庫實例名
--url url串
--username 數據庫賬號
--databasepassword 數據庫密碼
--name 數據源名稱
--maxpoolsize 數據源連接最大值
--initialpoolsize 數據源連接初始值
--minidle 數據源連接最小值
--INSTANCE_PORT 中間件的實例端口
最后參數為執行用戶,然后選擇需要執行的主機資源即可。
實現結果
執行此編排,腳本會解析中間件實例端口,在執行此操作用戶的對應單個或多個實例下,進行新增bes中間件的數據源,url,數據源最大值,最小值,初始值,實例名等都會解析上面提供的參數當做入參進行新增;并且數據源默認的探測語句為:"SELECT 1 FROM DUAL";且會新增兩個$屬性:
$session.terminal=IP
$session.program=實例名#數據源名稱
在bes控制臺結果如下圖所示:
實現腳本
#!/bin/bash
## 入參
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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129467.html
摘要:練級攻略的縱向編輯模式第一步修改將數列中第二段所有數字修改為將游標定位第一個行的進入縱向編輯模式移動游標到最后一行,可視塊覆蓋所要修改的列進入修改模式輸入數字第二步前添加在所有行之前添加將游標定位到第一行第一列進入縱向編輯模式 vimtutor showImg(https://segmentfault.com/img/bV4OLS?w=600&h=400); intro vim hi...
摘要:函數允許你將多維數組轉換為使用點符號的一維數組。返回應用程序中公共目錄的完全限定的絕對路徑。要解決此問題,只需運行以下命令即可使用包將字符串轉換為復數形式。接受兩個參數一個值和一個閉包。該值將被傳遞給閉包,然后該值將被返回。 array_dot() 函數允許你將多維數組轉換為使用點符號的一維數組。 $array = [ user => [username => somethin...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20