宝兰德BES中间件JVM堆自动化扩缩容
最近在部署国产宝兰德bes中间件时,得益于安装部署场景和数据源配置场景已经在AMP平台落地,大大提升了部署效率。但是在使用过程中发现jvm堆大小还是需要手动去修改;针对大批量主机还是有些麻烦;所以提炼出BES中间件JVM堆扩缩容的场景;在此分享给大家。

AMP平台简介:自动化运维管理平台–内置大量运维操作原子场景,支持常见数据库、中间件、云平台、网络设备等运维操作自动化能力。支撑八大运维场景自动化,覆盖常见运维工作。
执行说明
1. 参数介绍
执行用户:修改该实例的jvm堆大小;该对应的启动用户。
HOST_IP_LIST:所需执行的主机资源。
JVM堆最大值(以M为单位)。
JVM堆最小值(以M为单位)。
实例编号(多个编号以逗号分隔)。
2. 执行说明
2.1 JVM堆最大值最小值都需要修改;可以都填点击执行操作。
2.2 JVM堆最大值最小值只修改一个;另外一个数据可以空着;非必填项。
实现脚本
#!/bin/bash
USER_NAME=`whoami`
JVMMAX=${JVMMAX}
JVMMIN=${JVMMIN}
INSTANCE_NUM_LIST=${INSTANCE_NUM_LIST}
INSTANCE_NUM_ARRY=(${INSTANCE_NUM_LIST//,/})
DATA_TIME=`date+%Y%m%d`
for INSTANCE_NUM in ${INSTANCE_NUM_ARRY[@]}
do
CONF_DIR=/${USER_NAME}/bes952/${USER_NAME}instance${INSTANCE_NUM}/conf
CONF_FILE=${CONF_DIR}/server.config
cp ${CONF_FILE} ${CONF_DIR}/server.config.${DATA_TIME}.bak
if [-f ${CONF_FILE} ]
then
if [-z ${JVMMAX} ]
then
Sed-i”s@-Xms.*m@-Xms${JVMMIN}m@g” ${CONF_FILE}
echo “———–${USER_NAME}instance${INSTANCE_NUM}实例,JVM堆最小值已成功修改为${JVMMIN}m——————“
elif [-z ${JVMMIN} ]
then
sed-i”s@-Xmx.*m@-Xmx${JVMMAX}m@g” ${CONF_FILE}
echo “———–${USER_NAME}instance${INSTANCE_NUM}实例,JVM堆最大值已成功修改为${JVMMAX}m——————“
else
sed-i”s@-Xmx.*m@-Xmx${JVMMAX}m@g” ${CONF_FILE}
sleep 1
sed-i”s@-Xms.*m@-Xms${JVMMIN}m@g” ${CONF_FILE}
sleep 1
echo “———–${USER_NAME}instance${INSTANCE_NUM}实例,JVM堆最小值已成功修改为${JVMMIN}m——————“
echo “———–${USER_NAME}instance${INSTANCE_NUM}实例,JVM堆最大值已成功修改为${JVMMAX}m——————“
fi
else
echo “—————server.config配置文件不存在,请核查————————-“
fi
done
exit 0
本文作者:孙宇航(上海新炬王翦团队)
本文来源:“IT那活儿”公众号
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6379.html
