---
title: 使能KAEzip后没有生效
description: "使能KAEzip后没有生效。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/Greenplum/kunpenggreenplum_kae_03_0028.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/Greenplum/kunpenggreenplum_kae_03_0028.html
indexId: a2eafd48e563ab5f90ccd8c0d7021cde2ca6293920ea85519f94c60196e3de8e81
---
# 使能KAEzip后没有生效

#### 问题现象描述

使能KAEzip后没有生效。


#### 关键过程、根本原因分析

为了让Greenplum服务在启动时能够找到KAEzip库文件的路径，需要在启动前设置好环境变量。通常情况下，Greenplum服务是通过gpstart/gpstop等工具来启动的，这些工具会继承启动脚本或命令执行时的环境变量。因此，在启动Greenplum服务之前，需要确保它能够找到KAEzip库文件的路径。

在安装Greenplum时，用户一般会在“~/.bashrc”或者“~/.bash_profile”中配置环境变量。但是，KAEzip的环境变量则需要在“~/.bashrc”中添加。这样才能保证启动Greenplum服务时，它能够找到所需的KAEzip库文件的路径，从而正常运行。


#### 结论、解决方案及效果

- 方法一（推荐）：在Greenplum的配置文件“~/.bashrc”中添加KAEzip库文件的路径。

  1. 停止Greenplum的服务。
    1 gpstop

  2. 修改Greenplum的配置文件中的环境变量。

    a. 打开文件。
      1 vim ~/.bashrc

    b. 按“i”进入编辑模式，在配置文件最后添加如下语句。
      1 export LD_LIBRARY_PATH=/usr/local/kaezip/lib:$LD_LIBRARY_PATH

    c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
    d. 使修改生效。
      1 source ~/.bashrc

      如果Greenplum的环境变量配置在.bash_profile文件中，则需要执行如下命令使上述修改生效。 1 source ~/.bash_profile

  3. 重新启动Greenplum。
    1 gpstart

当不需要使用KAEzip时，可以将上述添加的语句注释掉，重新使环境变量生效并重启数据库。否则可能导致其他操作出现问题。


- 方法二：直接替换动态库文件。

  1. Greenplum运行时，会默认到“/lib64”中去找KAEzip的库文件，因此可以先备份“/lib64/libz.so.1.2.11”文件，再将“/usr/local/kaezip/lib/libz.so.1.2.1”文件复制到“/lib64/”目录下即可。
    1 2 3 4 mv /lib64/libz.so.1.2.11 /lib64/libz.so.1.2.11-bak cp -r /usr/local/kaezip/lib/libz.so.1.2.11 /lib64/ ldd /lib64/libz.so.1.2.11 ldd /lib64/libz.so.1

    如果“/lib64/libz.so.1.2.11”和“/lib64/libz.so.1”的依赖项中有libkaezip.so文件（路径为“/usr/local/kaezip/lib/libkaezip.so”），说明复制成功。

  2. 重启数据库。
当不需要使用KAEzip时，可以恢复1中被备份的“/lib64/libz.so.1.2.11”文件，并重启数据库。否则可能导致其他操作出现问题。

```
mv /lib64/libz.so.1.2.11-bak /lib64/libz.so.1.2.11
```
