---
url: /v6.2/install-upgrade.md
---
# 单机环境版本升级

在单机环境上，一般按照**停止旧版本服务**->**安装新版本**->**更新依赖**->**启动新版本服务**的流程进行版本升级。详细升级步骤如下。

1. 获取新版本安装包，并解压到安装设备上。

2. 停止旧版本的服务。
   进入运行用户，在安装目录下，执行停止服务命令。可参考下面的示例，示例中执行用户名为 hengshi，旧版本安装路径为/opt/hengshi。

```sh
sudo su - hengshi                 #切换到产品运行用户
cd /opt/hengshi                   #进入安装目标目录
bin/hengshi-sense-bin stop all    #停掉老版本服务
```

3. 安装新版本。在安装包解压目录下，执行新版本安装命令。请参考下面示例进行操作。

```sh
sudo su - hengshi  #切换到产品运行用户
cd ~/pkgs/hengshi-sense-[version] #切换到解压目标目录

#安装新版本，脚本会自动备份上个版本的数据; 特殊情况不要备份，与衡石技术支持确认后，参数 -s t 跳过备份
./hs_install -p /opt/hengshi
```

```
提示以下信息时表示新版本安装成功。
```

```sh
SUCCESSED! installed to xxxxx
```

> \[!TIP] 提示
> 如果使用的不是衡石的 metadb，需要确保 `export HS_PG_IF_EXTERNAL=false` 变量的值为 true，可在配置文件 conf/hengshi-sense-env.sh 更改，升级过程中将不会要求停止此服务。

4. 更新系统依赖。该操作执行过程中需要用户拥有 sudo 权限，执行成功后可以关闭 sudo 权限。请参考示例进行操作。

```sh
sudo su - hengshi             #切换到产品运行用户
cd /opt/hengshi                 #进入安装目标目录
bin/hengshi-sense-bin init-os all  #初始化 os
```

> \[!TIP] 提示
> 离线环境请使用bin/hengshi-sense-bin init-os all-offline 跳过联网更新依赖

5. 启动新版本服务。在安装目录下，执行新版本启动命令。

```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
```

6. 升级完成，通过浏览器访问服务地址使用 HENGSHI SENSE 服务。

# 回滚

解压回滚主要操作是将 backup 目录下最近产生的一个备份压缩包的内容恢复到部署位置(包括:程序，配置，数据)。

1. 准备回滚文件
   首先进入backup目录，选择最近的压缩包进行解压，这里一定要确认压缩包的时间。 示例中选择hengshi-20210819163228目录下的压缩包进行解压，该压缩包的时间为2021-08-19_16:32:28

2. 回滚程序和数据

```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
```

3. 清理旧数据
   回滚后，经业务检查没有问题后，执行以下清理操作

```shell
cd /opt/hengshi
rm pg_data.bak -rf
cd backup/hengshi-20210819163228 && rm metadb_backup.2021-08-19_16-33-14 -rf
```
