成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

BES中間件自動化新增數(shù)據(jù)源

IT那活兒 / 3410人閱讀
BES中間件自動化新增數(shù)據(jù)源

點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!

01

在推進國產(chǎn)化中間件bes時,我們發(fā)現(xiàn)使用控制臺修改jvm堆最大最小值、元空間、HSF端口、數(shù)據(jù)源等配置信息的場景很多,但是使用控制臺修改配置非常有局限性,所以我上篇關(guān)于bes中間件的軟文,介紹了如何使用命令行的方式批量新增數(shù)據(jù)源。寶蘭德BES中間件(命令行方式)批量新建數(shù)據(jù)源

但是這種方式在逐漸進入自動化運維的時代中,也存在些許弊端,所以經(jīng)過實踐,我們講自動化新增bes的數(shù)據(jù)源這一場景在AMP平臺落地,在此分享給大家。 


02


參數(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í)行的主機資源即可。

 


03

實現(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é)果如下圖所示:

04

實現(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



END



本文作者:孫宇航

本文來源:IT那活兒(上海新炬王翦團隊)

?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129467.html

相關(guān)文章

  • Vim session

    摘要:練級攻略的縱向編輯模式第一步修改將數(shù)列中第二段所有數(shù)字修改為將游標定位第一個行的進入縱向編輯模式移動游標到最后一行,可視塊覆蓋所要修改的列進入修改模式輸入數(shù)字第二步前添加在所有行之前添加將游標定位到第一行第一列進入縱向編輯模式 vimtutor showImg(https://segmentfault.com/img/bV4OLS?w=600&h=400); intro vim hi...

    nanfeiyan 評論0 收藏0
  • 十個推薦使用的 Laravel 的輔助函數(shù)

    摘要:函數(shù)允許你將多維數(shù)組轉(zhuǎn)換為使用點符號的一維數(shù)組。返回應(yīng)用程序中公共目錄的完全限定的絕對路徑。要解決此問題,只需運行以下命令即可使用包將字符串轉(zhuǎn)換為復(fù)數(shù)形式。接受兩個參數(shù)一個值和一個閉包。該值將被傳遞給閉包,然后該值將被返回。 array_dot() 函數(shù)允許你將多維數(shù)組轉(zhuǎn)換為使用點符號的一維數(shù)組。 $array = [ user => [username => somethin...

    ?。?。 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<