hadoop2.2.0编译

hadoop2.2.0编译

今天尝试了一下搭建hadoop、hbase、hive的环境,但是因为装的是64位的ubuntu13.10系统,所以,注定要多走许多的弯路。

且记录下来今天走的弯路。

首先我下载了hadoop官网上的tar.gz格式,解压后按http://my.oschina.net/mynote/blog/93735该博主的说的方式安装hadoop伪分布式,(至于为什么伪分布式呢,因为集群和单机还是有区别的,使用伪分布式比较符合集群的运行方式,以后测试的东西也是在集群上,所以还是使用伪分布式比较好)。后来发现namenode或者datanode老是启动不了,查看日志,报错为什么库的原因。忘记记录下来了,反正就是64位和32位库的区别,导致启动出错。

然后看到有的人说是有hadoop有问题,需要一个补丁HADOOP-10110.patch,结果我去官网下了下来,按里面的方式添加了相关的设置,还是出现了这样的问题。

最后只好自己编译了。

编译之前,需要准备一些库的安装:

1、sudo apt-get install build-essential

2、sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

3、然后安装findbugs

     wget http://jaist.dl.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-2.0.3.tar.gz

    下载完了,就解压,设置环境变量:

    export FINDBUGS_HOME=/opt/findbugs-2.0.3

    export PATH=$FINDBUGS_HOME/bin:$PATH


   使用ant编译安装。如果不编译安装则编译的时候会报

 
  

hadoop-common-project/hadoop-common/${env.FINDBUGS_HOME}/src/xsl/default.xsl doesn’t exist. -> [Help 1]

 4、安装protobuf2.5.0

    ubuntu默认是2.4.1,hadoop2.2.0要求的是2.5.0的,其他版本不行

   wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
(此处下载https://code.google.com/p/protobuf/downloads/list)
  解压执行 sudo ./configure --prefix=/usr  要加后面那个前缀参数,表示安装到/usr目录下,作为系统软件。通常我们的用户软件是安装到/usr/local下的,这个安装到/usr下,省去一些麻烦,应该也可以安装到/usr/local下的。

sudo make clean //此命令为了避免出现cannot install `libprotoc.la' to a directory not ending in /opt/protoc/lib的错误
sudo make && make install 
测试protoc --version 如果是libprotoc 2.5.0就对了

不行的话,可以先卸载2.4.1  sudo apt-get remove --auto-remove protobuf-compiler, 然后再重新安装一遍。

5、安装maven

   sudo apt-get install maven就ok

6、下载hadoop-2.2.0.src.tar.gz源码,解压,进入目录下,使用如下命令编译:

先给该源码打个补丁,

Patch: https://issues.apache.org/jira/browse/HADOOP-10110

wget https://issues.apache.org/jira/secure/attachment/12614482/HADOOP-10110.patch; patch -p0 < HADOOP-10110.patch

   mvn clean package -Pdist,native -DskipTests -Dtar

编译完成后,编译成功的是在/opt/hadoop-2.2.0-src/hadoop-dist/target目录下,可以使用了。

附上我自己编译好了的东西吧。

http://pan.baidu.com/s/1kT2ZvIf 

你可能感兴趣的:(云计算)