hadoop2.6编译64笔记



期待对hadoop的了解。开始了hadoop之旅、

听说没有64安装包,只能编译。

需要软件。

1.安装好了mvn,并且配置好了mvn的环境变量(我开始使用maven版本:3.0.5,发现各种配置不匹配,后找hadoop群里的人问了下,说可能是mvn版本低,需要3.2以上,我使用的是3.2.5,网上很好找)

具体会出现,IOUtil这个类找不到,打开jar包的确么有。

  使用国内的镜像  有时候会很慢----居然2023

  PING maven.oschina.net (112.124.6.10) 56(84) bytes of data.
  64 bytes from 112.124.6.10: icmp_seq=1 ttl=54 time=2023 ms


apache-maven-3.2.5/conf,编辑settings.xml文件

可以选择mvn更新到的目录(我自己从3.0.5换到3.2.5的时候忘记指定了,默认会生成至${user.home}/.m2/repository)。

<localRepository>路径</localRepository>

*修改<mirrors>内容:

      <mirror>

             <id>nexus-osc</id>

            <mirrorOf>*</mirrorOf>

             <name>Nexusosc</name>

             <url>http://maven.oschina.net/content/groups/public/</url>

      </mirror>

*修改<profiles>内容:

<profile>

      <id>jdk-1.7</id>

      <activation>

             <jdk>1.7</jdk>

      </activation>

      <repositories>

             <repository>

                    <id>nexus</id>

                    <name>localprivate 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>localprivate nexus</name>

                    <url>http://maven.oschina.net/content/groups/public/</url>

                    <releases>

                           <enabled>true</enabled>

                    </releases>

                    <snapshots>

                           <enabled>false</enabled>

                    </snapshots>

             </pluginRepository>

      </pluginRepositories>

</profile>


2.一些软件

yum install glibc-headers

yum install gcc

yum install gcc-c++

yum install make

yum install cmake

yum install openssl-devel

yum install ncurses-devel


3.jdk(使用sun的jdk比较靠谱,否则javah 还有tools会找不到。)

4.protobuf-2.5.0.tar.gz(需要配置path)

关于为什么要使用这个文件,是因为hadoop2对该文件包有依赖,所以必须先安装上它,否则后面对hadoop的编译有影响

5.zlib-1.2.8.tar.gz(很多编译教程里面并没有说要这玩意,但是我编译的时候会报错,具体信息这哥们里面很详细,http://www.dataguru.cn/thread-274441-1-1.html,)

编译是在遇到ZlibCompressor.c时报错,

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-common: An Ant BuildException has occured: exec returned: 2

需要安装zlib软件包

 下载解压zlib-1.2.8.tar.gz,然后
./configure
make
make install

http://download.csdn.net/download/qin1174586290/6364757 这个地址下载地址是可用的。

补充:执行Apache Hadoop Pipes这个的时候会报告

Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (make) on project hadoop-pipes: An Ant BuildException has occured: exec returned: 1
around Ant part ...<exec dir="/usr/hadoopTools/hadoop-2.6.0-src/hadoop-tools/hadoop-pipes/target/native" executable="cmake" failοnerrοr="true">... @ 5:127 in /usr/hadoopTools/hadoop-2.6.0-src/hadoop-tools/hadoop-pipes/target/antrun/build-main.xml

后来才发现其实编译用到了,zlib-devel   安装 yum install zlib-devel

6.过程中还会遇到java的路径 

   需要修改hadoop-2.6.0-src\hadoop-common-project\hadoop-common\pom.xml 下面的${env.JAVA_HOME} 替换成${JAVA_HOME}即可

7.环境变量

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79
export M2_HOME=/usr/hadoopTools/apache-maven-3.2.5
export PATH=${M2_HOME}/bin:/usr/local/protoc/bin:$PATH
export PATH=${JAVA_HOME}/bin:$PATH

8.到hadoop源码文件夹中

执行 mvn package -DskipTests -Pdist,native

也可写成shell。方便执行。重定向到 文件,可以方便查看。

#!/bin/bash
#
mvn -e package -DskipTests -Pdist,native >buildhadoop.txt

-e为详细信息(但是我加了和没加一样,可能我没仔细看)

重定向后节目没显示了,可以重新在开个终端登录,用  tail  buildhadoop.txt -f 查看

有时候下载不给力,下载一直卡那,可以中断执行后,重新启动就可以了

终于搞定了。看着hadoop-dist/target/下的东西多少有些兴奋


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值