编译Hadoop1.0.2历程和解决问题记录
1.安装eclipse3.6.2, 废止3.7, 这个有很多问题
2.安装eclipse插件ivy
You can install Apache IvyDE plugins from the IvyDE update site:http://www.apache.org/dist/ant/ivyde/updatesite.
First you have to configure Eclipse: add the IvyDE update site. In order to do it, follow these steps (Note that for Eclipse 3.4 it may defers):
- Open the update manager in Eclipse: Help > Software Updates > Find and Install...
- In the popup window, select Search for features to install, and click Next
- Then click on New Remote Site...
- Name: Apache Ivy update site
- URL: http://www.apache.org/dist/ant/ivyde/updatesite
- Click OK
A new entry "Apache Ivy update site" will appear in the list of update sites
3.下面引用另出博客的安装,有关注可以去下面链接出看看
http://gushuizerotoone.iteye.com/blog/638480
-------------------start ref-----
1.修改$HADOOP_HOME/src/contrib/build-contrib.xml
增加一行:<property name="eclipse.home" location="/home/gushui/eclipse"/>
上句后面的/home/gushui/eclipse由自己的$ECLIPSE_HOME代替
2.修改 $HADOOP_HOME/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/launch/HadoopApplicationLaunchShortcut.java
注释掉原来的//import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;
改为import org.eclipse.jdt.debug.ui.launchConfigurations.JavaApplicationLaunchShortcut;
3.执行:
- cd $HADOOP_HOME
- ant compile
- ln -sf $HADOOP_HOME/docs $HADOOP_HOME/build/docs
- ant package -Djava5.home=/usr/lib/jvm/java-1.5.0-sun-1.5.0.19 -Dforrest.home=/home/gushui/src/apache-forrest-0.8
注:安装apache-forrest-0.8:http://forrest.apache.org/mirrors.cgi,放在 /home/gushui/src/apache-forrest-0.8)
注: 这里我用的jdk1.5.0.22和apache-forrest-0.9
注意上面的java5路径和apache-forrest路径要根据你自己的安装路径而设定
ok,应该会在$HADOOP_HOME/build/contrib/eclipse-plugin/hadoop-0.20.3-dev-eclipse-plugin.jar
修改名字为hadoop-0.20.2-eclipse-plugin.jar,搞定。至于为什么要修改我也不太清楚,版本本身是0.20.2的,它却跳出来0.20.3。
注:我编的是1.0.2, 如果是0.2.203需要更改上面文件,否则编出来的eclipse plugin链接不上dfs server.
5.注意几点:
(1)把这个jar包放到eclipse 的plugins目录下。重启eclipse。我的貌似不行,用了最笨的办法,把eclipse删掉再重新解压tar文件重装,后面可以了
(2)zz,我的也是这样:如果你的eclipse 的 run as -> run on hadoop 功能按了還是沒有反應的話,請先執行 run as -> java application ,再 run as -> run on hadoop 就可以了
-----------------end ref
4.我执行以上步骤遇到的问题:
a。Execute failed: java.io.IOException: Cannot run program "autoreconf" (in directory。。。。。。。。
这个通过更新这个tool解决
"sudo apt-get install automake autoconf"
b。又一个break,如我的格言,我们总是不那么幸运
[exec] * [15/35] [0/0] 0.086s 0b hdfs_user_guide.pdf
[exec] Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/fop/messaging/MessageHandler
[exec] at org.apache.cocoon.serialization.FOPSerializer.configure(FOPSerializer.java:122)
[exec] at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
[exec] at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:289)
解决方法:ant clean 重复前面过程
task-controller:
[exec] Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 196.
解决方法: sudo apt-get install libtool
[exec] /usr/include/fts.h:41:3: error: #error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
[exec] make: *** [impl/task-controller.o] Error 1
解决方法:这个终于找到答案,这是一个fix已经提供,see MAPREDUCE-2178fix link
简单说就是controler不用大文件操作,可以把AC_SYS_LARGEFILE去掉, 步骤:
1.找到文件/$HADOOP_HOME/src/c++/task-controller/configure.ac
2.找到行AC_SYS_LARGEFILE, 注释掉
重新编译ant package步骤,oh,yeal,通过了!!!!
编译Hadoop1.0.2历程和解决问题记录的更多相关文章
- 【原创】Mac上编译Hadoop1.0.3出现的一些问题
create-native-configure: [exec] configure.ac:47: error: possibly undefined macro: AC_PROG_LIBTOOL [e ...
- Centos编译Redis4.0.9源码过程记录
mkdir /home/redis cd /home/redis 下载源码 wget https://codeload.github.com/antirez/redis/tar/4.0.9 解压源码包 ...
- 编译hadoop eclipse的插件(hadoop1.0)
原创文章,转载请注明: 转载自工学1号馆 欢迎关注我的个人博客:www.wuyudong.com, 更多云计算与大数据的精彩文章 在hadoop-1.0中,不像0.20.2版本,有现成的eclipse ...
- 在Ubuntu Server14.04上编译Android6.0源码
此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...
- Hadoop1.0.3集成eclipse开发
本文来自:http://www.ilablog.org/%E7%BC%96%E8%AF%91hadoop-eclipse%E6%8F%92%E4%BB%B6/ 本人由于工作原因目前没有亲自尝试,那位尝 ...
- ACE服务端编程1:使用VS2010编译ACE6.0及从ACE5.6升级的注意事项
ACE是一个跨平台的用于并发通信的C++框架,项目开始时使用的是ACE 5.6发布版,目前最新的ACE版本是6.3.0. 网上一直有一种黑ACE的氛围,主要黑点在于ACE的复杂和作者的背景,结合实际应 ...
- 编译bash实现history的syslog日志记录
摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1763145 一 ...
- hadoop1.0.3学习笔记
回 到 目 录 最近要从网上抓取数据下来,然后hadoop来做存储和分析. 呆毛王赛高 月子酱赛高 小唯酱赛高 目录 安装hadoop1.0.3 HDFS wordcount mapreduce去重 ...
- vc++编译libtiff4.0.4
目录 第1章简介 1 第2章命令行编译 2 2.1 编译 2 2.1.1 使用VC++2010编译 2 2.1.2 使用VC++6编译 4 2.2 生成的文件 5 ...
随机推荐
- SpringBoot 之 普通类获取Spring容器中的bean
[十]SpringBoot 之 普通类获取Spring容器中的bean 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器 ...
- Sqoop导入关系数据库到Hive
参考:segmentfault.com:Sqoop导入关系数据库到Hive Sqoop 是 apache 下用于 RDBMS 和 HDFS 互相导数据的工具.本文以 mysql 数据库为例,实现关系数 ...
- django2.0数据展示流程
之前刚刚实现了数据添加的流程,那么数据展示是怎么回事 1 先在 views.py 中定义函数 增加获取数据的方式 from django.shortcuts import render from bl ...
- Spring Boot实践——Spring Boot 2.0 新特性和发展方向
出自:https://mp.weixin.qq.com/s/EWmuzsgHueHcSB0WH-3AQw 以Java 8 为基准 Spring Boot 2.0 要求Java 版本必须8以上, Jav ...
- generator+列表生成式输出杨辉三角形
杨辉三角形: 1 1 1 1 2 1 1 3 3 1 1 4 ...
- LUA table.sort的问题,数组与表的区别
t = { [] = , [] = , [] = , [] = , } t1 = { , , , , } t2 = { 'a', 'b','d','c', } function cmp(v1, v2) ...
- 7.25 8figting!
TEXT 87 Fund management基金管理 A Miller's tale 米勒传奇(陈继龙编译) Dec 7th 2006 From The Economist print edit ...
- 7.25 1figting!
TEXT 97 Health consumerism 保护消费者健康权益 The wellness boom 健康产业飞速发展(陈继龙编译) Jan 4th 2007 | NEW YORK From ...
- rook 删不掉的问题
# kubectl get crd -o yamlapiVersion: v1items:- apiVersion: apiextensions.k8s.io/v1beta1 kind: Custo ...
- Linux基石【第四篇】基本Linux命令
Linux 系统上一切皆文件 命令: pwd -- 查看当前目录 / 代表根目录 clear -- 清屏命令 cd(change directory) -- 切换目录 cd / -- 切换到根目录 ...