### Hadoop 2.x 编译实例详解 #### 一、环境准备与配置 本章节主要介绍如何在 CentOS 6.5 系统上搭建 Hadoop 2.2.0 的开发环境,并进行编译。 ##### 1.1 安装 JDK 在编译 Hadoop 前,首先需要安装 JDK 并配置其环境变量。这里以 jdk-7u79-linux-x64 版本为例: 1. **下载并解压 JDK**: ```bash cd /root tar -xzvf jdk-7u79-linux-x64.tar.gz ``` 2. **配置 JDK 环境变量**: ```bash export JAVA_HOME=/usr/local/jdk-7u79-linux-x64 export PATH=.:$JAVA_HOME/bin:$PATH ``` 3. **使环境变量生效**: ```bash source /etc/profile ``` 通过这些步骤,可以确保系统能够识别到安装的 JDK 版本。 ##### 1.2 安装 Maven Maven 是一个项目管理和综合工具,主要用于构建和管理 Java 项目。安装 Maven 的步骤如下: 1. **下载并解压 Maven**: ```bash cd /usr/local tar -xzvf apache-maven-3.0.5-bin.tar.gz ``` 2. **配置 Maven 环境变量**: ```bash export MAVEN_HOME=/usr/local/apache-maven-3.0.5 export PATH=.:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH ``` 3. **使环境变量生效**: ```bash source /etc/profile ``` 至此,Maven 已经成功安装并配置好环境变量。 ##### 1.3 安装 Protobuf (Protocol Buffers) Protobuf 是 Google 开发的一种数据交换格式,用于定义结构化的数据,非常适合于网络通信和数据存储等应用场合。安装步骤如下: 1. **安装必要的依赖库**: ```bash yum install gcc yum install gcc-c++ yum install make ``` 2. **下载并解压 Protobuf 源码包**: ```bash cd /usr/local tar -zxvf protobuf-2.5.0.tar.gz ``` 3. **编译并安装 Protobuf**: ```bash cd protobuf-2.5.0 ./configure --prefix=/usr/local/protoc/ make && make install ``` 4. **配置 Protobuf 环境变量**: ```bash export PROTOC_HOME=/usr/local/protoc export PATH=.:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PROTOC_HOME/bin:$PATH ``` 5. **使环境变量生效并验证版本**: ```bash source /etc/profile protoc --version ``` 注意这里的 `--version` 是双破折号。 ##### 1.4 安装其他依赖 为了顺利编译 Hadoop,还需要安装以下几个依赖库: 1. **CMake**: ```bash yum install cmake ``` 2. **OpenSSL 开发库**: ```bash yum install openssl-devel ``` 3. **Ncurses 开发库**: ```bash yum install ncurses-devel ``` 以上步骤完成后,所需的环境已经准备就绪。 #### 二、Hadoop 源码编译 完成环境搭建后,接下来进入 Hadoop 的源码编译阶段。 ##### 2.1 解压缩 Hadoop 源码包 ```bash tar -zxvf hadoop-2.2.0-src.tar.gz ``` ##### 2.2 修改 POM 文件 由于 Hadoop 2.2.0 的源码中缺少对 jetty-util 的依赖,需要手动添加该依赖到 `pom.xml` 文件中。具体步骤为: 1. **定位到 pom.xml 文件**: ```bash cd /usr/local/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth ``` 2. **编辑 pom.xml 文件**: ```bash gedit pom.xml ``` 3. **添加依赖**: 在 `<dependencies>` 标签内,第 55 行后增加以下内容: ```xml <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-util</artifactId> <scope>test</scope> </dependency> ``` ##### 2.3 执行编译命令 在 `/usr/local/hadoop-2.2.0-src` 目录下执行编译命令: ```bash mvn package -DskipTests -Pdist,native ``` 此命令会跳过测试阶段,只进行编译和打包操作。编译完成后,会在 `/usr/local/hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0` 目录下生成编译好的 Hadoop 包。 至此,Hadoop 2.2.0 的源码编译过程全部完成。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助