解决-ISAL-L和PMDK功能完整环境包Ubuntu22专用
# 一、背景说明
在 Ubuntu 22.04 下编译 Bigtop 集成的大数据组件(如 Hadoop 3.3.4、HBase、ZooKeeper 等)时,如果需要开启 native 特性(如 OpenSSL、ISA-L、PMDK、Zstd、Snappy 等),系统必须具备完整的编译工具链与开发库。
缺少任意一项依赖都会导致编译过程反复中断、重新构建。为了减少不必要的反复调试,整理出以下“完整环境包”安装清单, 一次性满足编译条件。
适用范围
本清单仅适用于 Ubuntu 22.04,其他版本(如 Debian、Ubuntu 20.04)可能存在包名或版本差异,请根据实际环境调整。
# 二、完整环境包安装命令
直接执行以下命令即可批量安装全部必需依赖:
apt-get install -y \
asciidoc \
autoconf \
autoconf-archive \
automake \
bzip2 \
build-essential \
cmake \
curl \
debhelper \
devscripts \
dh-make \
fakeroot \
git \
iproute2 \
less \
libbz2-dev \
libcppunit-dev \
libfuse-dev \
libgsasl-dev \
libisal-dev \
libkrb5-dev \
liblzo2-dev \
libpmem-dev \
libprotobuf-dev \
libprotoc-dev \
libsnappy-dev \
libsasl2-dev \
libssl-dev \
libtirpc-dev \
libtool \
libxml2-dev \
libzip-dev \
libzstd-dev \
lintian \
locales \
lsof \
m4 \
net-tools \
openssh-client \
openssh-server \
patch \
pkg-config \
protobuf-compiler \
python3 \
python3-pip \
rsync \
sharutils \
sudo \
tar \
unzip \
vim \
wget \
zlib1g-dev
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
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
说明
- 核心工具链:
build-essential
、cmake
、autoconf
、automake
、libtool
- 压缩/加密库:
libzstd-dev
、libsnappy-dev
、libbz2-dev
、libssl-dev
- 网络/安全协议:
libsasl2-dev
、libgsasl-dev
、libkrb5-dev
- 存储优化:
libisal-dev
、libpmem-dev
、liblzo2-dev
- 协议编译:
protobuf-compiler
、libprotobuf-dev
、libprotoc-dev
# 三、编译命令示例(开启 Native 特性)
依赖安装完成后,可直接在 Hadoop 源码目录执行以下命令构建启用 native 特性的分发包:
mvn \
-Dsnappy.prefix=x \
-Dbundle.snappy=true \
-Dsnappy.lib=/usr/lib/x86_64-linux-gnu \
-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/lib/x86_64-linux-gnu/libprotobuf.so \
-DProtobuf_LITE_LIBRARY=/usr/lib/x86_64-linux-gnu/libprotobuf-lite.so \
-DProtobuf_PROTOC_LIBRARY=/usr/lib/x86_64-linux-gnu/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
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 产物中 |
- 01
- [/metrics/aggregated] — 聚合数据范围 检查点09-19
- 02
- [/metrics] — 反向分析接口参数 请求抓包09-17
- 03
- [/metrics] — 普通指标写入方法 POST09-17