[关闭]
@hadoopMan 2017-03-25T03:23:32.000000Z 字数 2526 阅读 1008

编译hadoop-2.5.0

hadoop


想学习spark,hadoop,kafka等大数据框架,请加群459898801,满了之后请加2群224209501。后续文章会陆续公开

1,环境配置

  1. /opt/complieHadoop/

2,所需软件包

3,下载并解压hadoop-2.5.0-src.tar

hadoop-2.5.0-src.tar下载地址:
hadoop下载

4,安装jdk

解压jdk-7u67-linux-x64.tar

  1. $tar zxvf jdk-7u67-linux-x64.tar /opt/modules/

配置环境变量
查看系统自带java

  1. $yum list installed |grep java

卸载自带java

  1. $yum -y remove java-1.7.0-openjdk*
  2. $yum -y remove tzdata-java.noarch

安装jdk1.7.0_67

  1. $vi /etc/profile
  2. 末尾添加
  3. export JAVA_HOME=/opt/modules/jdk1.7.0_67
  4. export PATH=$PATH:$JAVA_HOME/bin

测试java环境是否配置成功

  1. $java --version

成功

5,安装maven

下载apache-maven-3.0.5-bin.tar.gz
mvn下载
解压apache-maven-3.0.5-bin.tar

  1. $tar zxvf apache-maven-3.0.5-bin.tar.gz

配置环境变量

  1. $vi /etc/profile
  2. 末尾添加
  3. export MAVEN_HOME=/usr/local/apache-maven-3.0.5
  4. export PATH=$PATH:$MAVEN_HOME/bin

验证是否配置成功
成功

6,安装protobuf

由于protobuf-2.5.0.tar.gz需要先编译,所以安装之前应该先安装gcc/gcc-c++/make。
安装gcc/gcc-c++/make:

  1. $sudo yum install gcc
  2. $sudo yum install gcc-c++
  3. $sudo yum install make

解压protobuf-2.5.0.tar.gz

  1. tar -zvxf protobuf-2.5.0.tar.gz

编译protobuf-2.5.0

  1. $cd protobuf-2.5.0
  2. $./configure --prefix=/usr/local/protoc/
  3. $sudo make

安装protobuf-2.5.0

  1. $sudo make install

添加环境变量

  1. $vi /etc/profile
  2. 末尾添加
  3. export export PATH=$PATH:/usr/local/protoc/bin

验证是否配置成功
成功

7,安装其他依赖

  1. $sudo yum install cmake
  2. $sudo yum install openssl-devel
  3. $sudo yum install ncurses-devel

8,修改mvn镜像源

编译之前先配置镜像及域名服务器,来提高下载速度,进而提高编译速度,用nodepad++打开/opt/compileHadoop/apache-maven-3.0.5/conf/setting.xml。(nodepad已经通过sftp链接到了机器)

  1. <mirror>
  2. <id>nexus-osc</id>
  3. <mirrorOf>*</mirrorOf>
  4. <name>Nexus osc</name>
  5. <url>http://maven.oschina.net/content/groups/public/</url>
  6. </mirror>

9,配置域名解析服务器

  1. sudo vi /etc/resolv.conf
  2. 添加内容:
  3. nameserver 8.8.8.8
  4. nameserver 8.8.4.4

10,编译hadoop源代码

在hadoop-2.5.0-src目录下输入下面命令。

  1. $mvn package -DskipTests -Pdist,native
  2. 或者:
  3. mvn package -DskipTests -Pdist,native -Dtar(生成压缩文件)

编译成功有以下提示
1.png-95.4kB
会在目录/opt/compileHadoop/hadoop-2.5.0-src/hadoop-dist/target/下生成编译成的目标文件。
目标文件

11 编译cdh-5.3.6

缺zlib、protocbuf、CMake之类的提示比较明显,却啥装啥此处不作叙述。
本方法用于官网下载的hadoop-2.5.0-cdh5.3.6.tar.gz解压后src文件夹下源码的编译,不用于hadoop-2.5.0-cdh5.3.6-src.tar.gz源码包的编译,源码包没成功过估计二者有不同。

解压源码

maven镜像----------maven安装目录和/home/当前用户/.m2 两个地方的mirror都要屏蔽其他mirror并使用下面的
```

nexus-spring
cdh.repo
spring
http://repo.spring.io/repo/


nexus-spring2
cdh.releases.repo
spring2
http://repo.spring.io/repo/

  1. 首先上面两个特殊镜像与本次编译有关需要添加,其次maven.oschina.net这个镜像必须屏蔽,否则提示找不到jar导致失败,估计是oschina上面的依赖包不全或目录结构不一样。
  2. src源码文件夹下执行:
  3. 这句话可选,设置一下应该能提高成功率

export MAVEN_OPTS="-Xms256m -Xmx512m"

  1. 下面这句编译很熟了,过程不一般漫长要耐心等待

mvn package -Pdist,native -DskipTests -Dtar -Drequire.snappy
```
失败可直接重试一次,关注出错点内容,如果再出错是同一个地方,则要认真处理。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注