Hadoop源码编译
来源:互联网 发布:沈阳金蝶软件 编辑:程序博客网 时间:2024/06/05 16:16
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
写在前面的话
以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) 再重新编译。
阅读全文
0 0
- hadoop 源码编译
- hadoop源码编译错误
- eclipse编译hadoop源码
- hadoop源码编译
- Eclipse 编译Hadoop源码
- eclipse编译hadoop源码
- 编译hadoop源码
- hadoop 源码编译
- 重新编译Hadoop源码
- hadoop源码编译
- hadoop源码编译
- Spark、hadoop源码编译
- hadoop源码编译
- Hadoop源码编译
- hadoop 源码编译
- HADOOP源码编译
- eclipse maven 编译hadoop源码
- Hadoop v2(Yarn)源码编译
- 声明式异常处理: exception-mapping 元素
- Excel文件密码破解小工具
- 手把手教你在CentOS7安装Java JDK和配置环境变量
- 【剑指offer】【41】找出升序数组中和为给定值的两个数字
- 读入格式
- Hadoop源码编译
- 图论作业2 9.28
- linux日常命令
- ubuntu中MySQL的新建用户及远程登录
- 隐式转换
- ditto
- jsonp跨域
- Java并发之线程中断
- 【bzoj1303】[CQOI2009]中位数图