本文共 1309 字,大约阅读时间需要 4 分钟。
在 CentOS 64 位系统上运行 32 位的 Hadoop 源码时,可能会遇到以下问题及其解决方法。下面将详细介绍相关错误及其解决办法。
在运行 32 位的 Hadoop 源码时,有时会出现以下类型错误:
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now....
这种现象是由于 Hadoop 的 32 位 二进制文件在 64 位系统上运行时,宿主 JVM 导致的正常现象。
在某些版本环境下,可能会遇到以下关键错误信息:
Java: ssh: Could not resolve hostname Java: Name or service not knownHotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Name or service not known64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not known
这些错误提示通常是由于环境变量 JAVA_HOME
或相关配置 lacking 造成的。
在遇到类似问题时,可以参考以下解决方法:
手动编译找到适用于 CentOS 64 位系统的 Hadoop 源码版本,将源码进行适当的编译和配置。典型的改变包括指定正确的 C++ 编译器路径。
安装相关组件包通过终端工具安装必要的系统组件:
# 以 root 用户登录# 安装 glibc 头文件$ yum install glibc-headers# 安装 C++ 编译器$ yum install gcc
在某些情况下,使用 ./configure
运行时可能会出现错误提示:
configure: error: C++ preprocessor “/lib/cpp” fails sanitycheck See `config.log’ for more details
此类问题通常由默认的 C++ 前处理器路径配置不当引起。可以通过修改 configure
脚本的相关选项进行解决。
针对上述问题,修改步骤如下:
通过以上方法,您可以有效地解决在 CentOS 64 位环境下运行 32 位 Hadoop 源码的相关问题。
转载地址:http://ouryk.baihongyu.com/