Hadoop 2.2.0 libhadoop.so的disabled stack guard问题

在64位Ubuntu系统上运行Hadoop 2.2.0时,遇到libhadoop.so 32位兼容问题。通过下载源代码,配置protobuf并重新编译来解决这个问题。建议使用国内maven源加速依赖下载。

由于Hadoop 2.2.0默认配置的libhadoop是32位的,在64位的操作系统环境运行过程中,会提示以下错误:

Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /opt/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.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
13/11/01 10:58:59 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
需要重新编译Hadoop的代码,得到适合的库文件。按以下步骤执行。

下载Hadoop 2.2.0 源代码

可以从Apache官方下载Hadoop 2.2.0的源代码,或者在以下网址下载Hadoop 2.2.0的源代码:
http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz

配置编译环境

本文采用的Ubuntu 12.04.3 LTS环境,先安装编译环境:
$ sudo apt-get install build-essential
$ sudo apt-get install g++ autoc
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值