- 浏览: 297729 次
文章分类
最新评论
-
feargod:
...
ActivityGroup的子activity响应back事件的顺序问题 -
hoarhoar:
谢谢你,终于解决了,我真是受够了,总是45秒钟,真是疯了。
youku 的广告必须要屏蔽 -
lilai:
...
youku 的广告必须要屏蔽 -
aijuans2:
...
youku 的广告必须要屏蔽 -
weiwo1978:
说的非常好,mark
SELECT语句执行的顺序
之前有同学已经写过非常详细的windows下如何编译hadoop的文档(参见《Hadoop开发者入门专刊》)。
1、关于hadoop的SVN下载。用给匿名用户(Anonymous Access (read-only))使用的SVN库的URL(
ht
tp://svn.apache.org/repos/asf/hadoop/common/
)去check out副本,始终无法成功。
可以使用开发者用户(
Committer Access (read-write)
)的库下载副本,下载后的内容是一样的。其URL是:
https://svn.apache.org/repos/asf/hadoop/common/
当然最好还是只下载trunk中的内容,否则下载的东西太多了。。
2、hadooprelease的jar包(如
hadoop-0.20.2.tar.gz
)中会包含所有编译需要的source。但若自己通过svn下载source,则需要分别下载common、hdfs、mapreduce、zookeeper几个不同的库,没办法一次性获得所有source,(当然如果不用trunk的话也可以,但是下载内容巨多...)。
3、0.20版的hadoop和0.21版的hadoop结构有了较大的改变。用两个release解压后的包中的内容作比较。0.20版的hadoop根目录下有一个ant使用的build.xml可以直接编译出
hadoop-0.20.2-core.jar
包。而0.21版的hadoop的根目录下已经没有这个build.xml文件了,其转而需要分别编译三个必须的jar包:
hadoop-common-0.21.0.jar、hadoop-hdfs-0.21.0.jar、hadoop-mapred-0.21.0.jar
.
4、在eclipse中用ant编译hadoop有两个方法,方法一:《Hadoop开发者入门专刊》中方法:新建ant的编译选项进行手工编译。方法二:将ant用的build.xml文件加入ant视图中,选择相应的参数进行编译。
编译过程中遇到的问题:
问题1:
设置好用ant编译有如下错误提示(可能JAVA_HOME没有设置)BUILD FAILEDH:\FromApache\hadoop-0.20.2\build.xml:415: Unable to find a javac compiler;com.sun.tools.javac.Main is not on the classpath.Perhaps JAVA_HOME does not point to the JDK.It is currently set to "C:\Program Files (x86)\Java\jre6"但是实际上JAVA_HOME在操作系统环境变量里已经设置好了。其实关键这里提示是在eclipse中ant的classpath没有设置好,解决办法是在eclipse中:window->preferences->ant->runtime->classpath->global entries中,将jdk中的tools.jar加入。
问题2
:提示警告:tty_list::allocate: No tty allocated 这个警告可以忽略。但是不知道为什么有些时候编译会再次提示后自动终止,原因不明。可能是修改过build.xm产生的错误。。(不纠缠了。。浪费太多时间 。。)
问题3
:sh无法再cygwin下使用的问题,导致编译的错误。错误提示是: [javac] H:\FromApache\hadoop-0.20.2-new\build\src\org\apache\hadoop\package-info.java:5: 未结束的字符串字面值 [javac] user="***...在上述路径中打开package-info.java文件,发现其是由saveVersion.sh生成的。但是在cygwin下是无法使用sh的shell脚本的。所以,将build.xml中的以下内容注释掉,在windows上的这个问题就可以回避了。<!-- <exec executable="sh"> <arg line="src/saveVersion.sh ${version}"/> </exec>-->但是注意,这个问题很奇怪,在eclipse中用方法一第一次编译时,不是上面的错误提示,而是提示:“src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\launch\HadoopApplicationLaunchShortcut.java*:35: cannot find symbol 。。。这样一组错误。但是,在命令行下,到hadoop根目录中执行:
ant jar
,则给出了最开始的提示。按这个提示注释掉saveVersion.sh后,再回到eclipse中按方法一编译就没有问题了。。(所以,目前来看最可靠的方法是在命令行下用ant加参数进行编译。。。)
问题4
:在不同目录层次上创建java工程导致编译的问题:使用方法二在ant视图中点击jar参数运行,发生错误:BUILD FAILEDH:\FromApache\hadoop-0.20.2\src\build.xml:152: Source resource does not exist: H:\FromApache\hadoop-0.20.2\src\ivy\libraries.properties。其实打开工程目录会发现,ivy\libraries.properties不在src目录下,而是在hadoop-0.20.2根目录下。造成这个的错误原因在于build.xml文件会按环境变量拼接编译过程中需要使用的配置文件的路径(具体可参看build.xml)。我创建hadoop工程时,选择的源文件路径是...\hadoop-0.20.2\src,这就导致在工程里没有build.xml文件(该文件原始路径是在hadoop-0.20.2根目录下)。后来为了使用方法二编译,通过import导入这个文件,导入的文件实际上是从hadoop-0.20.2根目录下复制到...\hadoop-0.20.2\src目录下的一个副本,然后将此副本加入ant视图,用方法二编译时,其实build.xml的执行路径就变成了\hadoop-0.20.2\src目录而不是\hadoop-0.20.2\目录,所以,拼接的路径名就发生了错误。所以,创建工程时,选择的源文件路径注意要能包含build.xml这种ant编译文件,才能用方法二来进行编译。
问题5
:编译出的文件名问题这个编译出的文件名可能和你下载的release版本名不一致,这个名字其实完全是由build.xml中设定的,所以,不必在意,如果需要用你自己修改代码后编译出的jar来替换原始的hadoop运行环境中的jar包。就把名字改的和原始hadoop运行环境中的jar包名一样然后替换即可。
补充问题
:如果不用ant编译,则,需要为工程手工添加很多jar来保证工程编译。如果用ant,其会自动根据需要从网上下载相应的jar包,非常方便。当然,手工添加也不是很麻烦,因为这下jar包,基本都在release包中的lib目录下。偷懒的话,一次性全部加入即可。
更多信息请查看 java进阶网 http://www.javady.com
发表评论
-
hadoop FSNamesystem中的recentInvalidateSets
2012-04-20 20:28 1017今天早就回来了,然后偷懒了2个小时,现在才开始分析代码, ... -
hadoop namenode后台jetty web
2012-04-20 20:28 1695现在开始分析namenode启动时开启的第2类线程, ... -
hadoop namenode format做了什么?
2012-04-18 20:58 1165一看到format就和磁盘格式化联想到一起,然后这个fo ... -
hadoop分布式配置(服务器系统为centos5,配置时使用的用户是root)
2012-04-14 21:19 1069目前我们使 ... -
hadoop系列A:多文件输出
2012-04-14 21:18 1495package org.myorg; import ... -
Hadoop 安装问题和解决方案
2012-04-10 13:21 1264前几天在Window和Linux主机安装了Hadoop, ... -
运行Hadoop遇到的问题
2012-04-10 13:19 1619运行Hadoop遇到的问题 1, 伪分布式模式 ... -
运行Hadoop遇到的问题
2012-04-10 13:19 0运行Hadoop遇到的问题 1, 伪分布式模式 ... -
hadoop使用过程中的一些小技巧
2012-04-09 10:16 1175hadoop使用过程中的一些小技巧 ------------- ... -
运行hadoop时的一些技巧
2012-04-09 10:14 771//用来给key分区的,需要实现Partitioner接口 ... -
hive相关操作文档收集
2012-04-08 10:51 0How to load data into Hive ... -
hive sql doc
2012-04-08 10:51 0记录2个常用的hive sql语法查询地 官方 ht ... -
hive Required table missing : "`DBS`" in Catalog "" Schema "
2012-04-08 10:51 0最近需要提取一些数据,故开始使用hive,本机搭建了一个hiv ... -
HDFS数据兼容拷贝
2012-04-08 10:50 0系统中使用了hadoop 19.2 20.2 2个版本,为啥有 ... -
hdfs 简单的api 读写文件
2012-04-08 10:50 0Java代码 import ... -
hbase之htable线程安全性
2012-04-22 15:22 1197在单线程环境下使用hbase的htable是没有问题,但是突然 ... -
hbase之scan的rowkey问题
2012-04-22 15:22 1778最近使用到hbase做存储,发现使用scan的时候,返回的ro ... -
datanode启动开启了那些任务线程
2012-04-22 15:22 1094今天开始分析datanode,首先看看datanode开启了哪 ... -
namenode这个类的主要功能
2012-04-22 15:22 1547今天来总看下namenode这个类的主要功能 首先看下这个类 ... -
hadoop监控
2012-04-22 15:21 1600通过从hadoop的 hadoop-metrics文件中就可以 ...
相关推荐
在Windows 10上编译Hadoop,你需要准备以下环境: 1. Java Development Kit (JDK):Hadoop依赖Java运行,因此需要安装JDK,并确保`JAVA_HOME`环境变量指向正确的JDK安装路径。 2. Git:Hadoop的源代码托管在Git仓库...
在Hadoop的早期版本中,Ant可能是默认的构建工具,尽管在Hadoop2.7.1版本中,Maven是主要的构建工具,但Ant可能仍然被用作辅助工具,或者在某些特定场景下使用。 在编译Hadoop源码时,首先需要安装并配置好上述软件...
在Linux环境下编译Hadoop 2.7.4是一个涉及多步骤的过程,它不仅需要对Hadoop本身有深入的理解,还要求对Linux操作系统和相关工具如Ant、Maven以及Protobuf有一定的熟悉。以下是对这个过程的详细阐述: 首先,我们...
本文将详细讲解如何在CentOS 6.5系统上编译Hadoop 2.5.0 - CDH5.3.6与Snappy的源码,以生成适用于该环境的native库。 首先,我们要了解Hadoop的native库是什么。Hadoop的native库是一组C++编译的库,它们提供了与...
- **Ant**: 编译Hadoop需要使用Ant工具。 - **Cygwin**: Ant工具在编译过程中需要Cygwin提供的一些工具,例如`sed`命令。 - **下载地址**: - Ant: `http://ant.apache.org/ivy/download.cgi` - Cygwin: `...
以下是编译Hadoop 2.6.0所需的关键组件及其功能的详细解释: 1. **Apache Ant**: Apache Ant是一个Java库和命令行工具,用于驱动构建过程。它是Hadoop项目的主要构建工具,负责编译源代码、生成JAR文件、执行测试...
3. **apache-ant-1.9.9-bin.tar.gz**: Apache Ant是另一个Java构建工具,尽管Hadoop主要使用Maven进行构建,但在某些早期版本或特定场景下,Ant也可能被用到。Ant通过XML描述构建任务,执行编译、打包、测试等操作。...
在Windows 10环境下编译Hadoop 2.7.2是将开源的Hadoop分布式文件系统(HDFS)和MapReduce计算框架移植到Microsoft操作系统的过程。这个版本的Hadoop适用于那些希望在本地Windows环境中进行开发、测试或者学习Hadoop...
资源中包含linux平台编译Hadoop源码的所有软件和详细步骤: 1、下载安装各种软件库 yum -y install svn ncurses-devel gcc* yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel 2...
编译Hadoop源码需要到的包: (1)hadoop-2.7.2-src.tar.gz (2)jdk-8-linux-x64.gz (3)apache-ant-1.9.9-bin.tar.gz (4)apache-maven-3.0.5-bin.tar.gz (5)protobuf-2.5.0.tar.gz
编译Hadoop通常涉及到获取源代码、配置环境、解决依赖关系,以及使用编译工具(如Maven或Ant)进行构建。对于初学者来说,这可能是一个复杂的过程,但这样做可以确保与系统环境的兼容性。 `bin`目录通常包含可执行...
win7下编译过的hadoop jar包 hadoop1.1.2 hadoop0.20以后的版本的安装目录下contrib/没有eclipse的hadoop-*-eclipse-plugin.jar插件,需要自己用ant编译。
"在 CentOS 6.4 下编译 64 位的 Hadoop 2.4.1" ...本文详细介绍了在 CentOS 6.4 下编译 64 位的 Hadoop 2.4.1 的步骤,包括环境准备、安装依赖包、下载和安装 Maven 和 Ant、配置环境变量、编译 Hadoop 和安装 Hadoop。
总结起来,搭建Windows下的Hadoop2开发环境涉及下载和安装Hadoop,配置环境变量和核心配置文件,调整系统以适应Windows环境,以及利用Ant进行项目构建。这个过程虽然相对复杂,但是一旦完成,你就可以在本地环境中...
在本文中,我们将深入探讨如何使用Apache Ant工具在Windows环境下打包Hadoop-eclipse-plugin,这是一个允许开发者在Eclipse IDE中创建和调试Hadoop MapReduce项目的插件。以下是详细步骤: 首先,你需要下载Apache ...
4. 编译过程:在Windows下编译Hadoop涉及安装Java开发工具(JDK)、设置环境变量、获取Hadoop源码、配置编译选项,然后使用Maven或Ant等构建工具进行编译。 5. 替换bin文件:官方的Hadoop发行版中缺少Windows特定的...
在Windows环境下,使用Eclipse进行Hadoop 2.2.0分布式集群的调试是一项...以上就是在Windows下的Eclipse中调试Hadoop 2.2.0分布式集群的关键步骤和知识点。熟练掌握这些技能,能够极大地提高Hadoop开发的效率和质量。