单机环境版本升级
在单机环境上,一般按照停止旧版本服务->安装新版本->更新依赖->启动新版本服务的流程进行版本升级。详细升级步骤如下。
获取新版本安装包,并解压到安装设备上。
停止旧版本的服务。 进入运行用户,在安装目录下,执行停止服务命令。可参考下面的示例,示例中执行用户名为 hengshi,旧版本安装路径为/opt/hengshi。
sh
sudo su - hengshi #切换到产品运行用户
cd /opt/hengshi #进入安装目标目录
bin/hengshi-sense-bin stop all #停掉老版本服务
- 安装新版本。在安装包解压目录下,执行新版本安装命令。请参考下面示例进行操作。
sh
sudo su - hengshi #切换到产品运行用户
cd ~/pkgs/hengshi-sense-[version] #切换到解压目标目录
#安装新版本,脚本会自动备份上个版本的数据; 特殊情况不要备份,与衡石技术支持确认后,参数 -s t 跳过备份
./hs_install -p /opt/hengshi
提示以下信息时表示新版本安装成功。
sh
SUCCESSED! installed to xxxxx
提示
如果使用的不是衡石的 metadb,需要确保 export HS_PG_IF_EXTERNAL=false
变量的值为 true,可在配置文件 conf/hengshi-sense-env.sh 更改,升级过程中将不会要求停止此服务。
- 更新系统依赖。该操作执行过程中需要用户拥有 sudo 权限,执行成功后可以关闭 sudo 权限。请参考示例进行操作。
sh
sudo su - hengshi #切换到产品运行用户
cd /opt/hengshi #进入安装目标目录
bin/hengshi-sense-bin init-os all #初始化 os
提示
离线环境请使用bin/hengshi-sense-bin init-os all-offline 跳过联网更新依赖
- 启动新版本服务。在安装目录下,执行新版本启动命令。
sh
sudo su - hengshi #切换到产品运行用户
cd /opt/hengshi #进入安装目标目录
bin/hengshi-sense-bin start all #启动新版本服务
当服务启动成功后,提示以下信息,模块的状态为IS ACTIVE。
shell
IS ACTIVE! : [metadb] @127.0.0.1:5301/hengshi
IS ACTIVE! : [engine] @localhost:5302/hengshi
IS ACTIVE! : [minio] minio server /opt/hengshi/minio-data
IS ACTIVE! : [redis] 127.0.0.1@5307
IS ACTIVE! : [syslog] syslog-ng --no-caps --module-path=/opt/hengshi/lib/syslog-ng/lib/syslog-ng -f /opt/hengshi/conf/syslog-ng.conf -p /opt/hengshi/logs/syslog-ng.pid -R /opt/hengshi/logs/syslog-ng.persist -c /opt/hengshi/logs/syslog-ng.ctl
IS ACTIVE! : [apmserver] /opt/hengshi/lib/apm-server/apm-server -c /opt/hengshi/conf/apm-server.yaml
IS ACTIVE! : [hengshi] jar /opt/hengshi/lib/bootstrap-6.0.0.jar
IS ACTIVE! : [monit] /opt/hengshi/lib/monit/bin/monit -c /opt/hengshi/conf/monitrc
- 升级完成,通过浏览器访问服务地址使用 HENGSHI SENSE 服务。
回滚
解压回滚主要操作是将 backup 目录下最近产生的一个备份压缩包的内容恢复到部署位置(包括:程序,配置,数据)。
准备回滚文件 首先进入backup目录,选择最近的压缩包进行解压,这里一定要确认压缩包的时间。 示例中选择hengshi-20210819163228目录下的压缩包进行解压,该压缩包的时间为2021-08-19_16:32:28
回滚程序和数据
shell
cd /opt/hengshi
bin/hengshi-sense-bin stop all
tar -xf backup/hengshi-20210819163228/bin_conf_lib.tar.gz
mv pg_data pg_data.bak
bin/hengshi-sense-bin init metadb
bin/hengshi-sense-bin start metadb
bin/dbrestore.sh -m metadb -l ${PWD}/backup/hengshi-20210819163228 -t metadb_backup.2021-08-19_16-33-14[.tar.gz]
bin/hengshi-sense-bin stop metadb
bin/hengshi-sense-bin start all
- 清理旧数据 回滚后,经业务检查没有问题后,执行以下清理操作
shell
cd /opt/hengshi
rm pg_data.bak -rf
cd backup/hengshi-20210819163228 && rm metadb_backup.2021-08-19_16-33-14 -rf