我最近尝试构建 Hadoop 2.4 以使用它的本机库。
当我检查 Hadoop 是否确实在使用它时,我收到以下警告:
WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
因此我尝试寻找 native-bzip2 库apt-cache
并得到以下结果:
lib32bz2-1.0 - high-quality block-sorting file compressor library - 32bit runtime
libbz2-1.0 - high-quality block-sorting file compressor library - runtime
lib64bz2-1.0 - high-quality block-sorting file compressor library - 64bit runtime
我尝试安装lib64bz2-1.0
但libbz2-1.0
两者都不包含 native-bzip2 库。
欢迎提出任何关于如何操作的建议?或者甚至任何解释,说明我试图做的事情完全是无稽之谈。
谢谢。
答案1
JIRA 上似乎有关于这个主题的讨论:
第一个讨论错误信息不清楚Bzip2 错误消息不清楚因此,除了更新相关文档之外,没有其他解决方案。
似乎 BUILDING.txt 缺少一些有关本机压缩库的信息。值得注意的是,如果您缺少 zlib/bzip2/snappy devel 库,除非您传递 -Drequire.$LIB 选项(例如 -Drequire.snappy),否则这些库将被默默跳过。[参考。JIRA 问题。]
修正应该与 Hadoop 2.8.0 一起发布
答案2
您可能需要在编译 Hadoop 之前安装开发文件和静态库。尝试在编译之前安装 libbz2-dev。