nacos升级2.3.0-2.4.1
1 nacos升级
nacos从2.3.0升到2.4.1
2 停止各个应用服务
(1)停止各个服务
deployPath = 部署路径
name=$(echo $deployPath | awk -F"/" '{print $6}')
# 将对应服务的pid输出到.pid里面
ps -ef | grep $name.jar | grep -v grep | awk '{print $2}' > $deployPath/.pid
# 判断pid是否存在
cd $deployPath
pid=$(cat $deployPath/.pid)
# 输出这个pid的进程信息
pidExis=`ps -f -p $pid | grep java`
# 停止的时间间隔
stop_timeout=300
# 判断pid和pid进程信息是否为空
if[[ -z "$pid" || -z "$pidExist" ]];then
echo"====>>> server does not started."
exit 0
fi
# 开始停止
echo -e "====>>> server stopping ....\c"
start_time=`date + %s`
kill $pid > /dev/null 2>&1
count=0
# 循环统计 来杀死进程
while [ $count -lt 1]; do
sleep 1
# 统计指定java服务的进程信息的行数
pid_exist=`ps -f -p $pid | grep java | wc -l`
if [ "pid_exist" -eq 0]; then
count=1
break
fi
echo -e ".\c"
current_time=`date + %s`
duration=$(( $current_time - $start_time))
# 如果停止时间间隔超过100 就用kill -9强制杀死
if [ "$duration" -ge "$stop_timeout"]; then
echo ""
echo "====>>> stop timeout,use kill -9"
kill -9 $pid > /dev/null 2>&1
fi
done
echo ""
echo "====<<< service stopped success"
(2)停止后检查
echo "=====停止检查开始====="
# 直接打印出来了
app_name=$(echo $deployPath | awk -F"/" '{print $6}')
pid=$(ps -ef|grep "$app_name.jar" | grep -v grep | awk '{print $2}')
if [ -z "$pid"];then
echo "$app_name is stopped"
else
echo "app_name stop failed. pid:$pid"
echo "=====停止检查失败,请检查!!!======"
fi
echo "=====停止检查结束====="
服务升级
(1)停止nacos2.3.0
nacosServer="nacos-server"
time=`date + "%Y-%m-%d %H:%M:%S"`
#打印出pid来
cd /home/aries/nacos-2.3.0/nacos/bin
# 集群的也是这样停止
./shutdown.sh
sleep 5
#再次求出pid
if[ -z "$pid"];then
echo "nacos停止成功"
else
echo "nacos停止失败"
exit 1
fi
echo "======`date + "%Y-%m-%d %H:%M:%S" $nacosServer 服务已经停止`
(2)更改表结构
shell脚本中的 <<EOF是一个特殊的语法结构,用于将后续的输入作为标准输入传递给命令。比如:在shell脚本中执行mysql命令时,可使用<<EOF提供多行sql语句
# 可以事先定义SQLUser、SQLPass、SQLUpdatePass等变量
cd /mysql
echo $SQLUser
echo $SQLPass
echo $SQLUpdatePass
# 修改密码
/mysql/mysoft/mysql-5.7,30-linux/bin/mysql -u$SQLUser -p$SQLPass nacos <<EOF
use nacos;
ALTER TABLE config_info add column ..........;
ALTER TABLE config_info add column ..........;
ALTER TABLE config_info add column ..........;
ALTER TABLE his_config_info add column ..........;
ALTER TABLE permissions add column ..........;
EOF
(3)下载解压2.4.1
# 从地方下载 如:从https网址
wget -o
mkdir nacos-2.4.1
tar -zxvf $fileName -C nacos-2.4.1
(4)修改配置
configFile="/home/aries/nacos-2.4.1/nacos/config/application.properties"
# 判断配置文件是否存在
# 替换secret配置
sed -i 's/nacos.core.auth*****.key=/nacos.core.auth****key=******' $configFile
# 替换鉴权配置(变为true)
sed -i 's/' $configFile
# 添加mysql配置
sed -i '$a spirng.sql.**=mysql' $configFile
***********
echo "修改nacos配置成功"
# 替换集群文件(将原先集群文件 放到2.4.1的配置文件里)
cp /home/aries/nacos-2.3.0/nacos/conf/cluster.conf /**/nacos-2.4.1/nacos/conf/
(5)启动nacos2.4.1
# 启动
/home/aries/nacos-2.4.1/nacos/bin/startup.sh
sleep 5
# 看是否启动成功
# 得到pid
if[-z "$pid"];then
echo "nacos启动失败"
fi