[ Linux 下 Hadoop 编译]CentOS6.4_64位下编译Hadoop2.2.0
2014-05-07 18:46
483 查看
0、前言
在配置Cygwin无果后,终于专向Linux环境,本文是参照http://blog.csdn.net/w13770269691/article/details/16883663 ,
通过过自行实践加总结,写出本文。其实很多人都不建议在Cygwin下进行Hadoop配置,毕竟不是真正的Linux,总会让你遇到各种各样的非主流问题,却又难以解决。
下面进入安装过程描述。
前人的指引不一定会让你成功,但是一定对你有帮助!
1、安装JDK
我这里用的CentOS6.4_64位虚拟机(KVM虚拟化),要下载对应的64位的JDK,下载地址:
http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html
选择对应于你操作系统的JDK版本,解压JDK,因为我不太想安装rpm包,所以我选择tar.gz
接下来配置环境变量(我配置的是全局的):
1)vim /etc/profile
2)在文件最后追加:
export PATH
export JAVA_HOME=/opt/jdk1.7
export PATH=$PATH:$JAVA_HOME/bin
3)使环境变量生效:source /etc/profile
4)验证jdk是否配置成功: java -version (出现版本信息表示配置成功)
2、编译前的准备(maven)
1)下载maven
看到网上有这种说法:
但我确实使用的3.1.1版本,目前来看好像没有什么问题,maven官方下载地址:
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip
2)解压文件后,同样在/etc/profie里配置环境变量
exportMAVEN_HOME=/opt/maven3.1.1
exportPATH=$PATH:$MAVEN_HOME/bin
3)使环境变量生效:
source /etc/profile
4)验证配置是否成功(出现版本信息表示成功):
mvn -version
3、编译前的准备(安装protoc)
hadoop2.2.0编译需要protoc2.5.0的支持,所以还要下载protoc。
对protoc进行编译安装前先要装几个依赖包:gcc,gcc-c++,make,
由于下面编译Hadoop需要:cmake,openssl-devel,ncurses-deve,此处一起安装好了。
安装方法:直接yum install即可,如安装 gcc: 使用 yum install gcc 即可。
1)下载protoc
下载地址:https://code.google.com/p/protobuf/downloads/list
2)解压安装protoc,执行以下几步:
tar -xvf protobuf-2.5.0.tar.bz2
cd protobuf-2.5.0
./configure
make
make install
3)验证是否安装成功(出现版本号表示安装成功了)
[root@localhost hadoop-2.2.0]# protoc --version
libprotoc 2.5.0
4、编译hadoop
Hadoop为什么要编译?因为官网提供的编译好的程序,是32位版本的,然而现在还有多少人在用32位的Linux呢?
确实有点坑,看到别人说各种各样的报错,只好选择自行编译了。下面进入安装步骤:
1)下载源代码
wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz
2)配置mvn
由于maven国外服务器可能连不上,先给maven配置一下国内镜像,进入maven安装目录,
打开conf/settings.xml文件,
在<mirrors></mirros>节点里添加:
在<profiles></profiles>节点内添加:
3) Hadoop 2.2.0需要打patch,Patch :https://issues.apache.org/jira/browse/HADOOP-10110
其实也就是在\hadoop-common-project\hadoop-auth\pom.xml这个文件的56行后面,
需要添加一段代码而已。代码如下:
4)clean
进入Hadoop安装目录执行:
mvn clean
(第一次编译可以不用执行clean,当时我这一步mvn出错,
参考文章:http://www.javaxxz.com/thread-66406-1-1.html)
5) build hadoop包:
mvn package -DskipTests -Pdist,native,docs -Dtar
不出意外应该是编译成功了:
6)验证
进入hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0
a. cd bin执行 ./hadoop version 可以看到:
b. 执行file lib//native/*可以看到:
至此,Hadoop编译完成,下面进入集群部署。
下篇:Hadoop的集群配置
在配置Cygwin无果后,终于专向Linux环境,本文是参照http://blog.csdn.net/w13770269691/article/details/16883663 ,
通过过自行实践加总结,写出本文。其实很多人都不建议在Cygwin下进行Hadoop配置,毕竟不是真正的Linux,总会让你遇到各种各样的非主流问题,却又难以解决。
下面进入安装过程描述。
前人的指引不一定会让你成功,但是一定对你有帮助!
1、安装JDK
我这里用的CentOS6.4_64位虚拟机(KVM虚拟化),要下载对应的64位的JDK,下载地址:
http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html
选择对应于你操作系统的JDK版本,解压JDK,因为我不太想安装rpm包,所以我选择tar.gz
接下来配置环境变量(我配置的是全局的):
1)vim /etc/profile
2)在文件最后追加:
export PATH
export JAVA_HOME=/opt/jdk1.7
export PATH=$PATH:$JAVA_HOME/bin
3)使环境变量生效:source /etc/profile
4)验证jdk是否配置成功: java -version (出现版本信息表示配置成功)
2、编译前的准备(maven)
1)下载maven
看到网上有这种说法:
但我确实使用的3.1.1版本,目前来看好像没有什么问题,maven官方下载地址:
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip
2)解压文件后,同样在/etc/profie里配置环境变量
exportMAVEN_HOME=/opt/maven3.1.1
exportPATH=$PATH:$MAVEN_HOME/bin
3)使环境变量生效:
source /etc/profile
4)验证配置是否成功(出现版本信息表示成功):
mvn -version
3、编译前的准备(安装protoc)
hadoop2.2.0编译需要protoc2.5.0的支持,所以还要下载protoc。
对protoc进行编译安装前先要装几个依赖包:gcc,gcc-c++,make,
由于下面编译Hadoop需要:cmake,openssl-devel,ncurses-deve,此处一起安装好了。
安装方法:直接yum install即可,如安装 gcc: 使用 yum install gcc 即可。
1)下载protoc
下载地址:https://code.google.com/p/protobuf/downloads/list
2)解压安装protoc,执行以下几步:
tar -xvf protobuf-2.5.0.tar.bz2
cd protobuf-2.5.0
./configure
make
make install
3)验证是否安装成功(出现版本号表示安装成功了)
[root@localhost hadoop-2.2.0]# protoc --version
libprotoc 2.5.0
4、编译hadoop
Hadoop为什么要编译?因为官网提供的编译好的程序,是32位版本的,然而现在还有多少人在用32位的Linux呢?
确实有点坑,看到别人说各种各样的报错,只好选择自行编译了。下面进入安装步骤:
1)下载源代码
wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz
2)配置mvn
由于maven国外服务器可能连不上,先给maven配置一下国内镜像,进入maven安装目录,
打开conf/settings.xml文件,
在<mirrors></mirros>节点里添加:
<mirror> <id>nexus-osc</id> <mirrorOf>*</mirrorOf> <name>Nexusosc</name> <url>http://maven.oschina.net/content/groups/public/</url> </mirror>
在<profiles></profiles>节点内添加:
<profile> <id>jdk-1.7</id> <activation> <jdk>1.7</jdk> </activation> <repositories> <repository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.oschina.net/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.oschina.net/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile>
3) Hadoop 2.2.0需要打patch,Patch :https://issues.apache.org/jira/browse/HADOOP-10110
其实也就是在\hadoop-common-project\hadoop-auth\pom.xml这个文件的56行后面,
需要添加一段代码而已。代码如下:
<dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-util</artifactId> <scope>test</scope> </dependency>
4)clean
进入Hadoop安装目录执行:
mvn clean
(第一次编译可以不用执行clean,当时我这一步mvn出错,
参考文章:http://www.javaxxz.com/thread-66406-1-1.html)
5) build hadoop包:
mvn package -DskipTests -Pdist,native,docs -Dtar
不出意外应该是编译成功了:
6)验证
进入hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0
a. cd bin执行 ./hadoop version 可以看到:
b. 执行file lib//native/*可以看到:
至此,Hadoop编译完成,下面进入集群部署。
下篇:Hadoop的集群配置
相关文章推荐
- CentOS 6.4 64位 源码编译 hadoop 2.2.0
- Hadoop2.2.0 64位源码编译手记(centos6.4)
- CentOS 6.4 64位 源码编译hadoop 2.2.0
- hadoop2.2.0编译--centos6.4-64位
- [Linux下Hadoop部署] CentOS6.4_64位下部署Hadoop2.2.0
- hadoop2.2.0编译--centos6.4-64位
- hadoop2.2.0源码编译(CentOS6.4)
- 64位CentOS上编译 Hadoop 2.2.0
- 64位CentOS上编译 Hadoop 2.2.0
- Centos6.4_X64下编译hadoop2.2.0源码
- Hadoop-2.2.0 Linux 64位系统本地库编译
- 64位CentOS上编译 Hadoop 2.2.0
- hadoop2.2.0本地库替换--centos6.4-64位
- hadoop 2.2.0 centos 6.4 x64 编译
- 64位LINUX下hadoop2.2.0重新编译及安装步骤
- 64位CentOS上编译 Hadoop 2.2.0
- CentOS6.4编译Hadoop-2.2.0
- 在centos6.4 编译64位的hadoop 2.4.1
- 【hadoop】 1008-使用64位Linux编译hadoop2.2.0
- CentOS6.4编译Hadoop2.2.0