Hadoop源码编译
2017-09-29 20:23
633 查看
Linux环境:CentOS 6.5
版本:Hadoop 2.7.4
下载地址:http://mirrors.shuosc.org/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4-src.tar.gz
参考文档:https://github.com/apache/hadoop/blob/trunk/BUILDING.txt
BUILDING.txt中的话
编译之后
路径:/opt/sourcecode/hadoop-2.8.1-src/hadoop-dist/target/hadoop-2.7.4.tar.gz
b.如果出现缺少了某个文件的情况,则要先清理maven(使用命令 mvn clean) 再重新编译。
版本:Hadoop 2.7.4
下载地址:http://mirrors.shuosc.org/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4-src.tar.gz
参考文档:https://github.com/apache/hadoop/blob/trunk/BUILDING.txt
写在前面的话
以root用户为主,配置全局环境变量BUILDING.txt中的话
Requirements:(编译的环境要求) * Unix System * JDK 1.8+ * Maven 3.3 or later(伴随后面的工作) maven相关介绍: Apache Maven: 软件 pom.xml Maven repository: <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.37</version> </dependency> * ProtocolBuffer 2.5.0 * CMake 3.1 or newer (if compiling native code) * Zlib devel (if compiling native code) * openssl devel (if compiling native hadoop-pipes and to get the best HDFS encryption performance) * (暂时不需要)Linux FUSE (Filesystem in Userspace) version 2.6 or above (if compiling fuse_dfs) * Internet connection for first build (to fetch all Maven and Hadoop dependencies) * (暂时不需要)python (for releasedocs) * (暂时不需要)bats (for shell code testing) * (暂时不需要)Node.js / bower / Ember-cli (for YARN UI v2 building)
编译前的准备
切换到root用户 $>su - 查看是否有相关进程运行 $>ps -ef | grep hadoop 查看是否有安装的残留 $>find / -name hadoop 进入到opt目录 $>cd /opt 创建两个相关文件夹(sourcecode:源码 software:软件) $>mkdir sourcecode software 将事先下载完的源代码包上传到sourcecode 安装命令 $>yum -y install lrzsz(必须要有网络) 查看是否安装完毕(rz用于上传软件,也可以使用WinSCP) $>which rz 解压 $>tar -xzvf hadoop-2.8.1-src.tar.gz
部署JAVA环境
创建目录 $>mkdir /usr/java 进入目录 $>cd /usr/java 使用rz命令上传 $>rz 解压 $>tar -xzvf jdk-8u45-linux-x64.gz 修改用户和用户组(针对出现目录权限变更的情况) $>chown -R root:root jdk1.8.0_45 配置全局环境变量 $>vi /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_45 export PATH=$JAVA_HOME/bin:$PATH 生效环境变量 $>source /etc/profile 验证 $>java -version
安装maven
进入到相关目录 $>cd /opt/software 使用rz命令上传 $>rz 解压 $>unzip apache-maven-3.3.9-bin.zip 配置全局环境变量 $>vi/etc/profile export MAVEN_HOME=/opt/software/apache-maven-3.3.9 export MAVEN_OPTS="-Xms256m -Xmx512m" export PATH=$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH 生效环境变量 $>source /etc/profile 验证 $>mvn -version 修改conf/settings.xml(将mirror换成阿里云的,后面编译的时候速度会快些) <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
安装ProtocolBuffer 2.5.0
下载下来的为源码,需要自己手动使用命令进行编译安装,然后进行环境变量的配置进入到相关目录 $>cd /opt/software 使用rz命令上传 $>rz 解压 $>tar -xzvf protobuf-2.5.0.tar.gz 进行安装 $>yum install -y gcc gcc-c++ make cmake (安装cmake -y表示回车之后不需要输入yes了) $>cd protobuf-2.5.0 $>./configure --prefix=/opt/software/protobuf (指定编译之后的安装路径,目录不需要自己去创建,编译过程中会自动创建) $>make && make install (开始安装) 配置全局环境变量 $>vi /etc/profile export PROTOC_HOME=/opt/software/protobuf export PATH=$PROTOC_HOME/bin:$FINDBUGS_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH 生效环境变量 $>source /etc/profile 验证 $>protoc --version
Findbugs安装(可选,可以不安装)
进入到相关目录 $>$>cd /opt/software 使用rz命令上传 $>rz 解压 $>unzip findbugs-1.3.9.zip 配置全局环境变量 $>vi /etc/profile export FINDBUGS_HOME=/opt/software/findbugs-1.3.9 export PATH=$FINDBUGS_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH 生效环境变量 $>source /etc/profile 验证 $>findbugs -version
安装其它依赖
根据Github上的文档中Requirements的要求,安装剩下的依赖,以及编译过程中可能会缺失的东西,以免编译失败$>yum install -y openssl openssl-devel svn ncurses-devel zlib-devel libtool $>yum install -y snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop autoconf automake
开始编译
$>cd /opt/sourcecode/hadoop-2.7.4-src $>mvn clean package -Pdist,native -DskipTests -Dtar -DskipTests :跳过测试 -Dtar :打成tar包 BUILDING.txt上的说明: Building distributions: Create binary distribution without native code and without documentation: $ mvn package -Pdist -DskipTests -Dtar -Dmaven.javadoc.skip=true Create binary distribution with native code and with documentation: $ mvn package -Pdist,native,docs -DskipTests -Dtar Create source distribution: $ mvn package -Psrc -DskipTests Create source and binary distributions with native code and documentation: $ mvn package -Pdist,native,docs,src -DskipTests -Dtar Create a local staging version of the website (in /tmp/hadoop-site) $ mvn clean site -Preleasedocs; mvn site:stage -DstagingDirectory=/tmp/hadoop-site
编译成功
编译成功的截图编译之后
路径:/opt/sourcecode/hadoop-2.8.1-src/hadoop-dist/target/hadoop-2.7.4.tar.gz
补充说明
a.有时候编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,此时按ctrl+c,重新运行编译命令。b.如果出现缺少了某个文件的情况,则要先清理maven(使用命令 mvn clean) 再重新编译。
相关文章推荐
- hadoop-1.2.0源码编译
- 64位centos 下编译 hadoop 2.6.0 源码
- Hadoop 源码编译 step by step 最简洁的步骤
- linux环境下编译hadoop-2.6.0源码
- 【Hadoop学习笔记】编译源码
- hadoop 2.5.2源码编译
- CentOS 64位编译Hadoop2.6源码
- Hadoop2.2.0源码编译
- hadoop-2.0.0-mr1-cdh4.2.0源码编译总结
- 编译hadoop2.2.0源码
- hadoop-2.5.0源码编译
- hadoop2.6.1源码编译64位
- Ubuntu12.04编译hadoop2.6.0源码与源码导入windows下的Eclipse查看方法
- Hadoop2.2 64位源码编译步骤详解
- centos6.4编译hadoop2.4源码
- hadoop-2.2.0源码编译
- Hadoop2.6.0源码编译
- Linux下源码编译hadoop2.6.0
- hadoop2.6.1源码编译
- hadoop搭建时为什么最好重新编译源码的原因