HadoopYarn—创建Eclipse工程

本文档详细介绍如何在Ubuntu 14.04环境下从源码编译Hadoop 2.5.0,并生成对应的Eclipse工程。包括安装必要的依赖、配置开发环境、解决编译过程中出现的问题等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载地址:http://www.bitscn.com/pdb/otherdb/201505/497680.html

1. 安装环境介绍如下:

系统:Ubuntu14.04
Hadoop版本:hadoop-2.5.0(点击下载)
Java版本:openjdk-1.7.0_55
Eclipse版本:Release 4.4.0 (点击下载)
2. 把下载Hadoop源码包 hadoop-2.5.0-src.tar.gz 解压到工作目录(本文为/home/baisong),
得到 hadoop-2.5.0-src 文件夹。
3. 安装Maven,命令如下:
$ sudo apt-get install maven
4. 安装Google开源的序列化框架 Protocol Buffers。
1) 下载 protobuf-2.5.0.tar.gz(点击下载),然后解压得到 protobuf-2.5.0 文件夹。
2) 进入protobuf-2.5.0,输入下属命令:
$ ./configure
遇到如下错误:
\
分析:此属于Ubuntu的常见错误,可以把常用的库全部下载,命令如下:
$ sudo apt-get install build-essential
然后再输入 $ ./configure 命令即可。
3) 顺序执行下面三个命令。 
$ make
$ make check
$ sudo make install
4) 查看Protocol版本号,检查是否安装成功。
$ protoc --version
遇到如下错误,如下: 
\
分析知是因为系统找不到lib库,修改 /etc/ld.so.conf 文件,添加 /usr/local/lib 。如下:
$ sudo gedit /etc/ld.so.conf
内容:include /etc/ld.so.conf.d/*.conf /usr/local/lib
执行下述命令更新库文件路径,然后就能通过 $ protoc --version 命令查看版本号。
$ sudo ldconfig
\
5. 编译Hadoop源码生成Jar包,无需编译native code、测试用例和生成文档,在/home/baisong/adoop-2.5.0-src目录下,输入下述命令:
$ mvn package -Pdist -DskipTests -Dtar
编译成功后,输出信息如下:
\
6. 生成Eclipse工程文件,命令如下:
$ cd hadoop-maven-plugins 
$ mvn install
$ cd hadoop-2.5.0-src
$ mvn eclipse:eclipse -DskipTests
成功后的输出信息如下图:
\
7. 在Eclipse中导入源代码:”File“ >> "Import" >> "Existing Projects into Workspace",选择hadoop-2.5.0-src,然后确认。
\ 
如上图所示,导入后遇到错误,共有59个错误,但总体上分为3类。解决方法如下:
错误1: org.apache.hadoop.ipc.protobuf.× 无法解析
解决方法如下,依次执行下述命令。
$ cd hadoop-2.5.0-src/hadoop-common-project/hadoop-common/src/test/proto //注释:进入该目录
$ protoc --java_out=../java *.proto
最后,刷新Eclipse中的所有工程。至此,只剩下 6 个错误。
错误2:AvroRecord cannot be resolved to a type TestAvroSerialization.java
解决方法如下:
首先,下载 avro-tools-1.7.4.jar(点击下载)。存放于 hadoop-2.5.0-src 目录中。
然后执行下述命令:
$ cd hadoop-2.5.0-src/hadoop-common-project/hadoop-common/src/test/avro
$ java -jar ~/hadoop-2.5.0-src/avro-tools-1.7.4.jar compile schema avroRecord.avsc ../java
最后,刷新Eclipse工程。只剩下 3个错误。
错误3: Project 'hadoop-streaming' is missing required source ... Build Path Problem
解决方法如下:
右键 hadoop-streaming 项目->properties->左边Java Build Path->Source->选定错误项->右边Remove,如下图所示。
\
至此,在Eclipse中创建Hadoop工程完成。
### 创建 EclipseHadoop Web 项目 #### 配置 Eclipse 开发环境 为了在 Eclipse创建基于 Hadoop 的 Web 项目,首先需要配置好基础的开发环境。这包括安装必要的插件并设置相应的路径。 将 `hadoop-eclipse-plugin-2.5.2.jar` 文件放置于 Eclipse 安装目录下的 plugins 文件夹内,例如 D:\eclipse4\plugins[^1]。 #### 新建 Map/Reduce Project 启动 Eclipse 后,通过 File 菜单下的 New Project 视图来初始化一个新的 Map/Reduce Project[^2]。虽然这是针对 MapReduce 类型的应用程序设计的工作流,但对于集成 Hadoop 功能至 Web 应用同样适用作为起点。 #### 添加 Hadoop 源码支持 对于新建立的 Java 项目而言,需引入 Hadoop 相关的核心组件以便后续操作能够顺利执行。具体做法是从本地已有的 Hadoop 发行版中提取 src 下面的 core, hdfs, mapred 和 tools 这几个子文件夹的内容,并将其粘贴到刚刚创建好的工程里的 src 目录之下;之后利用右键点击该工程项目,在弹出选项里选取 "Build Path -> Configure Build Path..." 来调整构建属性以适应新的资源加入[^3]。 #### 设置环境变量 确保操作系统级别也做好了准备——即定义了一个名为 HADOOP_HOME 的全局环境变量指向实际存储着 Hadoop 实例的位置,并且把 %HADOOP_HOME%\bin 加入系统的 PATH 变量之中去[^4]。 #### 构建 Web Application Framework 当以上准备工作完成后,则可以着手搭建Web框架部分: 1. **选择合适的模板** - 使用 Eclipse 提供的标准 Dynamic Web Module 或者 Spring Boot Starter 等现代化工具链快速生成初始结构。 2. **整合 Hadoop API** - 将之前提到过的那些 jar 包以及依赖项纳入 Classpath 当中,使得应用程序可以直接调用 HDFS、YARN 等服务接口实现数据处理逻辑。 3. **编写业务代码** - 根据需求分析结果规划具体的页面布局和服务端交互流程,同时注意保持良好的分层架构原则,分离展示层与控制层之间的职责边界清晰明了。 4. **测试验证功能** - 利用内置服务器(Tomcat/Jetty)或者其他外部容器运行调试整个应用系统,确认各项特性均能正常运作无误后再考虑上线部署事宜。 ```java // 示例:连接到远程 HDFS 并读取文件列表 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HDFSBrowser { public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(conf); // 假设我们想要查看根目录下的所有条目... Path path = new Path("/"); RemoteIterator<LocatedFileStatus> files = fs.listFiles(path, true); while (files.hasNext()) { LocatedFileStatus file = files.next(); System.out.println(file.getPath().getName()); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值