编译hadoop 2.4.1 源代码以及 libhadoop.so.1.0.0文件

来源:互联网 发布:php 格式化百分比 编辑:程序博客网 时间:2024/06/06 01:50

由于编译到一半突然停电了,导致重新编译一直出错,

http://lucene.472066.n3.nabble.com/Unable-to-load-native-hadoop-library-for-your-platform-td4117072.html

You can build your own distribution that includes native libraries using the following steps:

1) Install developer tools and dependencies:

1a) From repositories:

apt-get install gcc g++ make maven cmake zlib zlib1g-dev

for RedHat environments, you can probably use a similar yum line:

yum install gcc g++ make maven cmake zlib zlib-devel

There may be some other dependencies or slightly different package names depending on what you already have installed and what OS you are running. If so, some google-able errors will pop up during the rest of the process.

1b) Protocol Buffers From Source:

mkdir /tmp/protobuf

cd /tmp/protobuf

wget http:// protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

//在国内googlecode访问不了,所以需要预先把protobuf-2.5.0.tar.gz下载下来,然后解压在目标build机器里面。

tar -xvzf ./protobuf-2.5.0.tar.gz

cd protobuf-2.5.0

./configure --prefix=/usr

make

sudo make install

cd java

mvn install

mvn package

sudo ldconfig

cd /tmp

rm -rf protobuf

2) download hadoop source:

mkdir /tmp/hadoop-build

cd /tmp/hadoop-build

wget http:// apache.petsads.us/hadoop/common/hadoop-2.4.1/hadoop-2.4.1-src.tar.gz

tar -xvzf ./hadoop-2.4.1-src.tar.gz

cd hadoop-2.4.1-src

3) Compile it:

export Platform=x64

cd /tmp/hadoop-build/hadoop-2.4.1-src

mvn clean install -DskipTests

cd hadoop-mapreduce-project

mvn package -Pdist,-DskipTests=true -Dtar

cd /tmp/hadoop-build/hadoop-2.2.0-src

mvn package -Pdist,native -DskipTests=true -Dtar

4) Copy your natively compiled distribution somewhere to be saved:

cp /tmp/hadoop-build/hadoop-2.4.1-src/hadoop-dist/target/hadoop-2.4.1.tar.gz /my/distribution/share/hadoop-2.4.1.tar.gz

5) Delete the build files (once you are satisfied that everything is working properly):

cd /tmp

rm -rf hadoop-build


如果中间编译的时候出现问题,可以把/root/.m2/文件夹下面缓存清楚重新编译问题就解决了。


6)验证libhadoop.so.1.0.0 文件的版本

  

在hadoop/lib/native下面输入: file libhadoop.so.1.0.0  

  libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

结束。





0 0
原创粉丝点击