使用源码编译hadoop64位安装包

来源:互联网 发布:蓝鸽集团java很坑人吗 编辑:程序博客网 时间:2024/06/05 20:43
准备工作
 1、下载相关包
  jdk-7u79-linux-x64.tar.gz
  apache-ant-1.9.4-bin.tar.gz
  protobuf-2.5.0.tar.gz
  apache-maven-3.3.1-bin.tar.gz
  hadoop-2.6.5-src.tar.gz


 2、操作系统编译环境
    yum -y install cmake lzo-devel zlib-devel gcc gcc-c++ autoconf automake libtool ncurses-devel openssl-devel libXtst


注:执行报错提示PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
编辑/etc/resolv.conf
添加 nameserver 8.8.8.8 后再次执行


安装JDK
  1、创建JDK安装目录
  mkdir /usr/local/java
  2、解压JDK
  tar -xzvf jdk-7u79-linux-x64.tar.gz
  3、将解压后的文件移动到java目录
  mv jdk1.7.0_79 /usr/local/java/
  4、配置jdk的环境变量
  vi /etc/profile
  添加下面内容
  export JAVA_HOME=/usr/local/java/jdk1.7.0_75
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH


保存退出执行 source /etc/profile 配置文件立刻生效
  5、检查jdk是否安装成功
  java -version


安装protobuf
  1、解压protobuf-2.5.0
  tar -xzvf protobuf-2.5.0.tar.gz
  2、创建protobuf安装目录
    mkdir /usr/local/protobuf
  3、将解压文件移动到安装目录
  mv protobuf-2.5.0 /usr/local/protobuf/
  4、进入protobuf-2.5.0目录执行配置
  cd protobuf-2.5.0
  ./configure
  5、编译并安装
  make && make install
  6、检查是否安装成功
  protoc --version


安装ANT
  1、解压apache-ant-1.9.4-bin.tar.gz
  tar -xzvf apache-ant-1.9.4-bin.tar.gz
  2、创建ant安装目录
    mkdir /usr/local/ant
  3、将解压文件移动到安装目录
  mv apache-ant-1.9.4 /usr/local/ant/
  4、配置ant环境变量
  vi /etc/profile
  添加下面内容


  export ANT_HOME=/usr/local/ant/apache-ant-1.9.4
PATH=$PATH:$ANT_HOME/bin


保存退出执行 source /etc/profile 配置文件立刻生效


安装maven
  1、解压apache-maven-3.3.1-bin.tar.gz
  tar -xzvf apache-maven-3.3.1-bin.tar.gz
  2、创建ant安装目录
    mkdir /usr/local/maven
  3、将解压文件移动到安装目录
  mv apache-maven-3.3.1 /usr/local/maven/maven-3.3.1
  4、配置ant环境变量
  vi /etc/profile
  添加下面内容


  export MAVEN_HOME=/usr/local/maven/maven-3.3.1
PATH=$PATH:$MAVEN_HOME/bin


保存退出执行 source /etc/profile 配置文件立刻生效
  5、验证安装是否成功
  mvn -v


  6、修改配置文件
vi /usr/local/maven/maven-3.3.1/conf/settings.xml


配置镜像服务地址
<mirror>
   <!-- 具体配置信息参考后面 -->
</mirror>
<profiles> 
<!-- 具体配置信息参考后面 -->
</profiles> 


编译 Hadoop2.6.0
  1、解压hadoop-2.6.5-src.tar.gz
  tar -zxvf hadoop-2.6.5-src.tar.gz
  2、进入hadoop-2.6.5-src目录
  cd hadoop-2.6.5-src
  3、编译
  mvn package -DskipTests -Pdist,native -Dtar
  4、等待编译成功,这个时间比较长
  5、编译成功后打包的文件在hadoop-dist/target目录中






maven的settings.xml中的镜像服务地址配置


  <mirrors>
     <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
     </mirror>
     <mirror>
      <!--This is used to direct the public snapshots repo in the 
          profile below over to a different nexus group -->
      <id>nexus-public-snapshots</id>
      <mirrorOf>public-snapshots</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
     </mirror>
  </mirrors>


  <profiles> 
    <profile>
      <id>development</id>
      <activation>
         <jdk>1.7</jdk>
      </activation>
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases>
          <snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases>
          <snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    <profile>
      <!--this profile will allow snapshots to be searched when activated-->
      <id>public-snapshots</id>
      <repositories>
        <repository>
          <id>public-snapshots</id>
          <url>http://public-snapshots</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>public-snapshots</id>
          <url>http://public-snapshots</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
原创粉丝点击