---
url: /v6.2/install-dependencies-offline.md
---
# 离线环境依赖组件准备

当安装环境为隔离环境并且无法连接互联网时，首先需要安装离线依赖包。本文说明了依赖组件的信息并提供了 CentOS 离线依赖安装包和兼容 Centos 的离线依赖包安装。

## 依赖组件信息

不同操作系统中组件依赖存在部分差异，根据自身部署系统选择对应的依赖组件安装

|部署类型|必要依赖组件信息|Greenplum 引擎依赖组件信息|Doris 引擎依赖组件信息|
|------|-------------|----------------------|-------------------|
|单机|jdk-11、wget、net-tools、coreutils、rsync|python2.7、libcgroup-tools（cgroups 依赖）、m4、python-yaml|jdk-1.8|
|集群|ansible（仅部署安装节点）、jdk-11、wget、net-tools、coreutils、rsync|python2.7、libcgroup-tools（cgroups 依赖）、m4、python-yaml|jdk-1.8|

### jdk 组件资源

衡石内部提供 jdk-11、jdk-1.8 组件资源，可根据需要使用衡石资源也可使用自有资源

* 使用自有资源
  ```shell
   cd /opt/hengshi
   vi conf/hengshi-sense-env.sh ## 编辑配置文件
   export HS_JDK_HOME="jdk-11部署目录" ## 增加此配置信息
   export DORIS_JDK_HOME="jdk-1.8部署目录"  ## 当引擎类型为 Doris，增加此配置信息
  ```
* 使用衡石资源
  ```shell
  ## jdk-11资源获取
  cd /opt/hengshi/lib
  export hs_version="openjdk-11.0.17_8.1"
  wget https://download.hengshi.com/hs-jdk/${hs_version}.tar.gz
  tar -zxf ${hs_version}.tar.gz && rm ${hs_version}.tar.gz
  ln -sf ${hs_version} jdk
  ## 当引擎类型为 Doris，jdk-1.8资源获取
  cd /opt/hengshi/lib
  export hs_version="openjdk-8u352-b08-linux-64"
  wget https://download.hengshi.com/hs-jdk/${hs_version}.tar.gz
  tar -zxf ${hs_version}.tar.gz && rm ${hs_version}.tar.gz
  ```

## 预置 CentOS 版本的离线依赖包安装

HENGSHI SENSE 离线安装依赖包主要包括如下三种类型。

* base：正常单机部署所需依赖包，包括 openjdk 和 syslog-ng 等。
* ansible: 虚拟机上集群部署额外需要安装的 ansible 工具包。

1.请先根据安装环境的 OS 版本下载对应的离线 zip 包。

| os   |  base  | ansible |
|----|----|----|
| centos-7.9.2009 | [base](https://download.hengshi.com/3rd/sense-deps/7.9.2009/base-7.9.2009.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.9.2009/ansible-7.9.2009.tar.gz) |
| centos-7.8.2003 | [base](https://download.hengshi.com/3rd/sense-deps/7.8.2003/base-7.8.2003.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.8.2003/ansible-7.8.2003.tar.gz) |
| centos-7.7.1908 | [base](https://download.hengshi.com/3rd/sense-deps/7.7.1908/base-7.7.1908.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.7.1908/ansible-7.7.1908.tar.gz) |
| centos-7.6.1810 | [base](https://download.hengshi.com/3rd/sense-deps/7.6.1810/base-7.6.1810.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.6.1810/ansible-7.6.1810.tar.gz) |
| centos-7.5.1804 | [base](https://download.hengshi.com/3rd/sense-deps/7.5.1804/base-7.5.1804.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.5.1804/ansible-7.5.1804.tar.gz) |
| centos-7.4.1708 | [base](https://download.hengshi.com/3rd/sense-deps/7.4.1708/base-7.4.1708.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.4.1708/ansible-7.4.1708.tar.gz) |
| centos-7.3.1611 | [base](https://download.hengshi.com/3rd/sense-deps/7.3.1611/base-7.3.1611.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.3.1611/ansible-7.3.1611.tar.gz) |
| centos-7.2.1511 | [base](https://download.hengshi.com/3rd/sense-deps/7.2.1511/base-7.2.1511.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.2.1511/ansible-7.2.1511.tar.gz) |
| ubuntu-18.04 | [base](https://download.hengshi.com/3rd/sense-deps/ubuntu-18-04/ubuntu-deps-18-04.zip) | [](https://download.hengshi.com/3rd/sense-deps/7.2.1511/ansible-7.2.1511.tar.gz) |
| ubuntu-20.04 | [base](https://download.hengshi.com/3rd/sense-deps/ubuntu-20-04/ubuntu-deps-20-04.zip) | [](https://download.hengshi.com/3rd/sense-deps/7.2.1511/ansible-7.2.1511.tar.gz) |
| ubuntu-22.04 | [base](https://download.hengshi.com/3rd/sense-deps/ubuntu-22-04/ubuntu-deps-22-04.zip) | [](https://download.hengshi.com/3rd/sense-deps/7.2.1511/ansible-7.2.1511.tar.gz) |

2.将 zip 包解压并安装。下面以 base 为例，演示如何进行解压及安装，syslog-ng、ansible 两种安装包的处理方法相同。

```shell
tar -xf base-<ver>.tar.gz
yum localinstall base-<ver>/*.rpm
```

## 兼容 CentOS 的离线依赖包安装

当安装环境的 OS 不是 CentOS，但是兼容 CentOS 时，可以按照下面的方法获取依赖包并安装。

1. 根据兼容 CentOS 版本在上面的表格中找出对应的依赖包，解压后执行下面的命令，获取离线依赖包中所有包的包名。
   ```shell
   bash -c "source bin/init-os; echo \${DEP_PKGS[@]}"
   ```
2. 在一台与隔离环境 OS 相同（OS 及 CentOS 的版本都相同）的外网设备上，执行下面的命令获取依赖包。  其中 PKG_PATH 为下载保存路径，PKGS 为步骤1中获取的依赖包中所有包的包名。
   ```shell
   sudo yum install yum-utils
   sudo yumdownloader --destdir=$PKG_PATH --resolve $PKGS
   ```
3. 将步骤2中获取的依赖包拷贝到内网机器，执行下面的命令进行依赖包安装，其中 PKG_PATH 为内网环境存放依赖包的路径。
   ```shell
   sudo yum localinstall $PKG_PATH/*.rpm
   ```
