中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

Kafka使能鲲鹏加速库LZ4压缩算法

目的

Kafka使能鲲鹏加速库LZ4压缩算法。

方法

将lz4-java仓中的原生LZ4代码替换成鲲鹏加速库LZ4代码,Kafka组件通过KafkaLZ4BlockInputStreamKafkaLZ4BlockOutputStream类来调用lz4-java-1.7.1.jar,通过使能鲲鹏加速库LZ4压缩算法,使Kafka在使用LZ4压缩格式时,性能得到提升。

软件要求

表1 软件要求

类别

支持版本

Java

OpenJDK

操作系统

openEuler 22.03 LTS SP3

Kafka

2.5.0

Ant

1.9.14

lz4-java

1.7.1

软件获取

使能Kafka鲲鹏加速库LZ4特性所需软件包及其获取方式如表2所示。

表2 Kafka使能鲲鹏加速库LZ4软件获取列表

名称

软件包名称

发布类型

说明

获取地址

鲲鹏加速库LZ4

master.zip

开源

通过鲲鹏加速库使LZ4压缩解压缩算法性能提升。

Link

KZL

BoostKit-kzl_1.0.0.zip

闭源

基于鲲鹏平台对LZ4进行优化的代码仓,通过补丁劫持压缩函数处理方式,调用KZL优化代码,从而达到性能提高效果。

Link

lz4-java原生包

1.7.1.zip

开源

lz4-Java的源码,编译的时候将鲲鹏加速库LZ4打包进去。

Link

配置编译环境

  1. 安装OpenJDK。
    1. 下载安装包。
      1
      wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz --no-check-certificate
      
    2. 解压到指定目录“/opt/tools/installed”
      1
      2
      3
      tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz
      mkdir -p /opt/tools/installed/
      mv jdk8u252-b09 /opt/tools/installed/
      
    3. 配置环境变量。
      1. 打开“profile”文件。
        1
        vi /etc/profile
        
      2. “i”进入编辑模式,在文件中配置以下内容。
        1
        2
        export JAVA_HOME=/opt/tools/installed/jdk8u252-b09
        export PATH=$JAVA_HOME/bin:$PATH
        
      3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 生效环境变量。
      1
      source /etc/profile
      
  2. 安装Ant。
    1. 下载Ant 1.9.14版本安装包。
      1
      wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.14-bin.zip --no-check-certificate
      
    2. 解压到指定目录“/opt/tools/installed”
      1
      2
      unzip apache-ant-1.9.14-bin.zip
      mv apache-ant-1.9.14 /opt/tools/installed/
      
    3. 配置Ant环境变量。
      1. 打开“profile”文件。
        1
        vi /etc/profile
        
      2. “i”进入编辑模式,在文件中配置以下内容。
        1
        2
        export ANT_HOME=/opt/tools/installed/apache-ant-1.9.14
        export PATH=$ANT_HOME/bin:$PATH
        
      3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 生效环境变量。
      1
      source /etc/profile
      
    5. 查看是否生效。
      1
      ant -version
      

编译鲲鹏加速库LZ4压缩算法

  1. 下载鲲鹏加速库LZ4压缩算法并合入patch。
    1. 创建安装目录。
      1
      mkdir -p /opt/lz4
      
    2. 下载鲲鹏加速库LZ4压缩算法并解压压缩包。
      1
      2
      3
      cd /opt/lz4
      wget https://gitee.com/kunpeng_compute/lz4/repository/archive/master.zip --no-check-certificate
      unzip master.zip
      

    3. 删除原有的BoostKit-kzl_1.0.0.zip包。
      1
      2
      cd /opt/lz4/lz4-master
      rm -rf BoostKit-kzl_1.0.0.zip
      
    4. 表2下载新的BoostKit-kzl_1.0.0.zip包,将其上传到“lz4-master”目录中,并进行解压。
      1
      2
      cd /opt/lz4/lz4-master
      unzip BoostKit-kzl_1.0.0.zip
      
    5. 解压lz4-1.9.3.zip包,合入KZL的Patch。
      1
      2
      3
      4
      5
      6
      cd /opt/lz4/lz4-master
      unzip lz4-1.9.3.zip
      patch -p0 < ./lz4_kzl.patch
      cp ./kzl.a ./lz4_accelerater.h ./lz4-1.9.3/lib
      cd lz4-1.9.3/lib
      ar -x kzl.a
      

  2. 下载lz4-java并编译。
    1. 下载并解压lz4-java。
      1
      2
      3
      cd /opt/lz4/
      wget https://github.com/lz4/lz4-java/archive/refs/tags/1.7.1.zip --no-check-certificate
      unzip 1.7.1.zip
      
    2. 使用KZL的LZ4目录替换原生的LZ4。
      1
      2
      3
      4
      cd /opt/lz4/lz4-java-1.7.1/src
      rm -rf lz4
      cd /opt/lz4/lz4-master
      cp -r lz4-1.9.3 /opt/lz4/lz4-java-1.7.1/src/lz4
      
    3. 修改编译文件build.xml,将.a文件和.o文件编译到JAR中。
      1. 进入“/opt/lz4/lz4-java-1.7.1”目录,并打开“build.xml”文件。
        1
        2
        cd /opt/lz4/lz4-java-1.7.1
        vim build.xml
        
      2. “i”进入编辑模式,将文件214行<fileset dir="${src}/lz4/lib" includes="lz4.c, lz4hc.c, xxhash.c" />修改为如下内容。
        1
        <fileset dir="${src}/lz4/lib" includes="*.c,*.h, *.a,*.o" />
        
      3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 执行编译。
      1
      2
      3
      cd /opt/lz4/lz4-java-1.7.1
      ant ivy-bootstrap
      ant
      

    5. 将包重命名为lz4-java-1.7.1.jar。
      1
      2
      cd dist
      mv lz4-java-1.6-SNAPSHOT.jar lz4-java-1.7.1.jar
      

使能鲲鹏加速库LZ4压缩算法

将上步骤编译好的lz4-java-1.7.1.jar替换Kafka的“libs”目录下原生的包,重启Kafka即可。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词