TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)
  • 案例-Ambari重启失败

  • 案例-数据库连接问题

  • 案例-日志级别控制问题

  • 案例-找不到snappy-devel

  • 案例-编译高级功能

    • 解读-开启Hadoop下ISAL-L和PMDK功能
    • 解决-ISAL-L和PMDK功能完整环境包
      • 一、背景说明
      • 二、完整环境包安装命令
      • 三、编译命令示例(开启 Native 特性)
        • 参数解析
  • SYS-Rocky
  • 案例-编译高级功能
JaneTTR
2025-08-17
目录

解决-ISAL-L和PMDK功能完整环境包

# 一、背景说明

在 Rocky Linux 8.10 下编译 Bigtop 集成的大数据组件(如 Hadoop 3.3.4、HBase、ZooKeeper 等)时,如果需要开启 native 特性(如 OpenSSL、ISA-L、PMDK、Zstd、Snappy 等),系统必须具备完整的编译工具链与开发库。

缺少任意一项依赖都会导致编译过程反复中断、重新构建。为了减少不必要的反复调试,整理出以下“完整环境包”安装清单, 一次性满足编译条件。

适用范围

本清单仅适用于 Rocky Linux 8.10,其他 RHEL 系列版本(如 CentOS Stream、AlmaLinux)可能存在包名或版本差异,请根据实际环境调整。

# 二、完整环境包安装命令

在 Rocky 8.10 下,建议使用 dnf 安装以下依赖:


dnf -y install \
    asciidoc \
    autoconf \
    automake \
    bzip2-devel \
    cmake \
    cppunit-devel \
    cyrus-sasl-devel \
    curl \
    docbook2X \
    fuse \
    fuse-devel \
    fuse-libs \
    gcc \
    gcc-c++ \
    git \
    iproute \
    krb5-devel \
    less \
    libtirpc-devel \
    libtool \
    libxml2-devel \
    lsof \
    lzo-devel \
    make \
    net-tools \
    openssh-server \
    openssl-devel \
    patch \
    procps-ng \
    protobuf-devel \
    python3 \
    redhat-lsb-core \
    rpm-build \
    rsync \
    snappy-devel \
    sudo \
    tar \
    unzip \
    vim \
    wget \
    which \
    xmlto \
    zlib-devel \
    isa-l-devel \
    libpmem-devel \
    libpmemobj-devel \
    protobuf-compiler \
    pkgconf \
    m4 \
    autoconf-archive \
    libzip-devel \
    sharutils \
    libgsasl-devel \
    libzstd-devel 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

说明

  • 核心工具链:gcc、gcc-c++、make、cmake、autoconf、automake、libtool
  • 压缩/加密库:libzstd-devel、snappy-devel、bzip2-devel、openssl-devel
  • 网络/安全协议:cyrus-sasl-devel、libgsasl-devel、krb5-devel
  • 存储优化:isa-l-devel、libpmem-devel、libpmemobj-devel、lzo-devel
  • 协议编译:protobuf-compiler、protobuf-devel
  • 文档构建工具:docbook2X、xmlto(部分组件需要)

# 三、编译命令示例(开启 Native 特性)

依赖安装完成后,可直接在 Hadoop 源码目录执行以下命令构建启用 native 特性的分发包:

mvn \
  -Dsnappy.prefix=x \
  -Dbundle.snappy=true \
  -Dsnappy.lib=/usr/lib64 \
  -Pdist -Pnative -Psrc -Pyarn-ui -Dtar \
  -Dzookeeper.version=3.5.9 \
  -Dleveldbjni.group=org.fusesource.leveldbjni \
  -DskipTests -DskipITs \
  -Drequire.openssl=true \
  -Drequire.isal=true \
  -Drequire.pmdk=true \
  -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc \
  -DProtobuf_LIBRARY=/usr/lib64/libprotobuf.so \
  -DProtobuf_LITE_LIBRARY=/usr/lib64/libprotobuf-lite.so \
  -DProtobuf_PROTOC_LIBRARY=/usr/lib64/libprotoc.so \
  -Drequire.zstd=true \
  install \
  -Divy.home=/root/.ivy2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 参数解析

参数 说明
-Pdist -Pnative 开启分发包构建并编译 native 代码
-Drequire.openssl=true 启用 OpenSSL 支持
-Drequire.isal=true 启用 ISA-L 支持
-Drequire.pmdk=true 启用 PMDK 持久化内存库
-Drequire.zstd=true 启用 Zstd 压缩支持
-DProtobuf_* 显式指定 Protobuf 可执行文件和库路径,防止版本冲突
-Dbundle.snappy=true 将 Snappy 库打包到 native 产物中
#bigtop-select#rocky#编译适配#源码分析
解读-开启Hadoop下ISAL-L和PMDK功能

← 解读-开启Hadoop下ISAL-L和PMDK功能

最近更新
01
[/metrics/aggregated] — 聚合数据范围 检查点
09-19
02
[/metrics] — 反向分析接口参数 请求抓包
09-17
03
[/metrics] — 普通指标写入方法 POST
09-17
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式