Ubuntu 编译安装 hadoop 2.2.0

本文属于转载,打patch部分是自己遇到的问题

转自:http://blog.changecong.com/2013/10/ubuntu-%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85-hadoop-2-2-0/

编译环境

OS: Ubuntu 12.04 64-bit

hadoop version: 2.2.0

Java: Jdk1.7.0_45

java环境配置

空白的电脑,什么都没有啊

下载 jdk : http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

在 /usr/lib/下新建jvm文件夹,将刚下的压缩文件解压到/usr/lib/jvm/目录下

修改~/.bashrc 配置环境变量

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45  
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH

更新一下,使其生效

$ source .bashrc

检查一下是否配置成功

$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

安装依赖包

这些库啊包啊基本都会在编译过程中用到,缺少的话会影响编译,看到error了再找solution非常麻烦,提前装好一劳永逸。

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

因为还要用到ssh,所以如果机器上没有的话,装个openssh的客户端就好啦 (ubuntu 12.04应该预装了)

$ sudo apt-get install openssh-client

当然想装server的话就

$ sudo apt-get install openssh-server

编译过程中还会用到protobuf 貌似需要最新的2.5.0,因此有低版本的也重新安装一下

安装配置 protobuf

下载最新的protobuf: https://code.google.com/p/protobuf/downloads/list

解压,依次运行

$ ./configure --prefix=/usr
$ sudo make
$ sudo make check
$ sudo make install

检查一下版本

$ protoc --version
libprotoc 2.5.0

安装配置 maven

ubuntu下用apt-get安装

$ sudo apt-get install maven

 

创建新用户及用户组

我们为hadoop创建一个新组叫“hadoop”,创建一个新用户叫“hduser”属于“hadoop”组 (网上都这么起名字,我们也跟风好了)

$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser

有了新用户以后,我们下面的操作就都要在新用户下完成了

$ su hduser

建立ssh信任

hadoop启动的时候要ssh访问localhost,建立信任关系省得老输密码

$ cd /home/hduser
$ ssh-keygen -t rsa -P ""
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys

用命令验证一下是否可以免密码链接localhost

$ ssh localhost

这是没有给rsa密钥设密码的情况,但是我觉得吧,一般还是给个密码好,可以用ssh-agent管理,以后也不许要每次都输入

$ ssh-add ~/.ssh/id_rsa.pub  # 参数写成公钥了,应该传私钥进去,感谢twlkyao提醒
$ ssh-add ~/.ssh/id_rsa

编译 hadoop 2.2.0

下载 hadoop 2.2.0  http://www.apache.org/dyn/closer.cgi/hadoop/common/

解压到用户目录 /home/hduser/. 进入 hadoop-2.2.0-src 目录

因为已经安装了maven, protobuf, java环境也有了,compiler也有了所以直接运行

PS:需要打一个patch ,不然后续maven编译会报错

Index: hadoop-common-project/hadoop-auth/pom.xml
===================================================================
--- hadoop-common-project/hadoop-auth/pom.xml	(revision 1543124)
+++ hadoop-common-project/hadoop-auth/pom.xml	(working copy)
@@ -54,6 +54,11 @@
     
     
       org.mortbay.jetty
+      jetty-util
+      test
+    
+    
+      org.mortbay.jetty
       jetty
       test
     

patch -p0 < HADOOP-10110.patch

$ mvn package -Pdist,native -DskipTests -Dtar

正常应该不会有什么错误了, 参数和其他编译选择请看 hadoop目录下的 BUILDING.txt文件

安装配置 hadoop 2.2.0

此时编译好的文件位于 hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0/ 目录中

你可能感兴趣的:(Hadoop)