当前位置: 首页 > news >正文

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

(5) 启动服务

官网比较2.3.0版本和2.4.1版本的差异

更新nacos的表结构

拉包解压

更新nacos2.4.1新包的相关配置文件(集群模式的话 需要把nacos的集群文件再复制到nacos2.4.1的下面)

相关文章:

  • 【MySql】EXPLAIN执行计划全解析:15个字段深度解读与调优指南
  • 【深度学习】PyTorch v2.6 Overview
  • 设计后端返回给前端的返回体
  • 钉钉MAKE AI生态大会思考
  • C++ | 高级教程 | 泛型模板
  • 数据结构秘籍(一)线性数据结构
  • 注意力机制有哪些,原理是什么
  • 细说STM32F407单片机RS485收发通信实例及调试方法
  • wordpress使用CorePress主题设置项总结
  • Elasticsearch:使用经过训练的 ML 模型理解稀疏向量嵌入
  • Python Pandas带多组参数和标签的Oracle数据库批量数据导出程序
  • MySQL-MATCH ... AGAINST工具
  • linux--多进程开发(5)--进程间通信(IPC)、linux间通信的方式、管道
  • 全价值链数字化转型:以美的集团为例,探索开源AI大模型与S2B2C商城小程序源码的融合应用
  • MySQL之Redo Log:确保数据持久性和崩溃恢复
  • MySql 获取表结构的4中方法
  • 【如何优化 Vue.js 项目的性能?】
  • mfy学习笔记
  • C# 数据类型
  • C#异步编程之async与await
  • 北京食药局网站年检怎么做/网络口碑营销
  • 网站构成三要素/站长工具 忘忧草
  • 上海浦东做网站的公司/网页制作流程
  • 我的网站模板下载不了/指数平滑法
  • title:(网站开发)/成都百度seo公司
  • 网站建设基础百度百科/互联网怎么打广告推广