- 浏览: 151044 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (113)
- Java工具类 (3)
- Hibernate (1)
- Struts>1&2 (0)
- Spring (0)
- Web前端 (1)
- 数据库 (2)
- 中间件 (3)
- 搜索引擎 (11)
- EJB (1)
- Log日志 (1)
- OS操作系统 (7)
- Java文档 (4)
- Security (1)
- Exception&Error (7)
- 日志&心情 (7)
- 开心一下 (3)
- 云计算 (41)
- Cache缓存 (4)
- MongoDB (1)
- OS操作系统 Linux (7)
- jquery (1)
- 机器学习 (2)
- Plugins (2)
- AJAX (1)
- Java工具 (1)
- WebService (1)
最新评论
-
a420144030:
你好,我想计算n篇文章的相似度,用mahout能处理吗,如何做 ...
mahout使用 -
di1984HIT:
OK,真的很牛啊
hadoop常见错误 -
xwl1991:
还真是这个问题 !
quartz报错java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.ord
最近一直在使用mapr版本的hadoop, 然后用的karmasphere 的eclipse plugin . 突然想找一个eclipse IDE 连接一下Cloudera 版本的方便一下操作,结果就悲剧了.
首先是各个版本的eclipse plugin 不兼容. 网上找的各种编译好的,自己编译的都是家家有本难念的经啊.什么Apache Hadoop 0.20.2 , Apache Hadoop 0.20.3 ,Apache Hadoop 0.20.5 ,Cloudera CDH CDH3 , CDHu1 , CDHu2 , eclipse 的各个版本不兼容. 花了几天的时间查看了网上的各种解决方法之后终于搞明白了到底每个版本怎么回事了.
首先,无论你的服务器上Hadoop 使用的是什么版本,你都需要下载对应的这个版本的源代码包进行编译. 你是Apache Hadoop 0.20.2 就去Apache 下0.20.2 的,你是Apache 0.21 版本的就去下0.21 版本的. 你是Cloudera CHDu.x 版本的,就去Cloudera 网站上下它的CDHu.x 版本对应的tar 包. 确保你要连接的服务器版本和你打算编译的eclipse-plugin版本是一致的.
在自己编译eclipse-plugin之前,你需要apache-ant, apache-maven, apache-ivy如果你打算编译整个包括hadoop的服务器版本并生成二进制包,你还需要apache-forrest 用来输出文档. ant,maven,forrest 的安装跟java 的安装没有区别,解压,然后添加对应的bin目录到path 变量. ivy 的安装就是添加一个apache-ivy-xxx.jar 到你的ant 安装目录下的lib 目录. 这些前提工具就算安装好了.
然后从命令行进入你解压的$hadoop_home 源代码目录, 执行ant compile-core , 这个会编译基础的hadoop-core 包. 注意如果你是在linux 下这个命令不会报错,但是如果你是windows 会报can’t run program mvn , 在对应的build.xml 文件的42 行,你需要进入$Hadoop_home/build.xml 文件的42行,修改
<exec executable="mvn" xxxxxxxxxxxxxxxxxxxxx
改成 <exec executable="mvn.bat" xxxxxxxxxxxxxxxxxx
如果你打算编译整个包的话对应的1230 行里面的forrest 在windows 下同样会出现这个错误.
然后你需要将$Hadoop_home 下面的hadoop-core-xxx.jar 文件拷贝到$Hadoop_home/build 目录下. 你是什么版本的就拷贝对应版本的hadoop-core-xxx.jar 文件. 比如我编译的是hadoop-core-0.20.2-cdh3u2.jar 文件.
进入$Hadoop_home/src/contrib/eclipse-plugin 目录, 执行
ant –Declipse.home=/path/to/eclipse -Dversion=0.20.2-cdh3u2 jar
注意,如果你没有执行前面一步的copy 工作,你会报错找不到build/hadoop-core-xxx.jar 文件. 你也可以修改对应eclipse-plugin 目录下的build.xml 文件的69行左右对应的两个copy 任务.
<copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
<copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
确保copy 的这些文件能够在对应的目录找到. 如果你是0.21 版本的apache-hadoop ,由于0.21 版本完全maven 化了. 你可能需要添加hadoop-core-xxx , hadoop-mapreduce-xxx.jar hadoop-hdfs-xxx.jar , 我的是CDHu2 的,你在执行完这个之后在$hadoop_home/build/contrib/eclipse-plugin 下面会有一个hadoop-eclipse-plugin-0.20.2-cdh3u2.jar 的文件. 不过这个文件是不能用的,会提示你差一些jar 文件. 你需要添加 jackson-core-asl-xxx.jar , jackson-mapper-asl-xxx.jar , commons-httpclient-xxx.jar 文件. 具体的version 你需要到$hadoop_home/lib 目录下自己找. apache-hadoop 0.20.205 版本的好像用的是jackson-core-1.0.1版本的. CDHu2 版本用的好像是jackson-core-1.5.2 版本的.
<copy file="${hadoop.root}/lib/jackson-core-asl-1.5.2.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-mapper-asl-1.5.2.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-httpclient-3.1.jar" todir="${build.dir}/lib" verbose="true"/>
编译好之后放在eclipse 的dropin 目录下就可以了.
注意连接的时候MapReduce-Master port 别和DFS port 填反了,不然会报fail to open /xxxx 的错误. 默认安装的时候应该是mapreduce 是8021 , dfs 是8020 , 查看你对应服务器上的端口配置.
上图就是我用来连接DFS的,Cloudera 版本里面默认有一个界面的hive GUI 叫beeswax 的.
搞了这么半天发现终于编译成功之后,发现这个eclipse-plugin 功能还是挺弱的. 主要是Karmasphere 的免费版不支持Clouder3 更新包,然后它不能ssh 连远程主机. 其他的Professional 版本还是只适合非常熟练的开发人员.
参考资料:
我在jira 上加了两个comment:
https://issues.apache.org/jira/browse/HADOOP-7382
https://issues.apache.org/jira/browse/MAPREDUCE-3029
CDHu1 版本的. 我下了好像不能用
http://heipark.iteye.com/blog/1178756
cloudera 的人解释如何编译和安装cdh 版本的eclipse (墙外)
https://groups.google.com/a/cloudera.org/group/cdh-user/browse_thread/thread/99d20f1711f680b7
发表评论
-
用Sqoop把数据从HDFS导入到MYSQL
2012-10-27 23:30 2315转自:http://www.kaifajie.cn/mySQL ... -
大数据的储存:百度HDFS集群的数据压缩
2012-08-30 17:48 11512012年4月13日,由IT168(ITP ... -
用sqoop进行mysql和hdfs系统间的数据互导
2012-07-31 16:32 1878转自:http://abloz.com/2012/07/19/ ... -
从hive将数据导出到mysql
2012-07-31 16:31 1783转自:http://abloz.com/2012/07/20/ ... -
Hive SQL
2012-07-19 13:49 1399转自:http://www.tbdata.org/ ... -
Hive优化总结
2012-07-09 15:18 4264优化时,把hive sql当做ma ... -
hadoop/mapred 优化方法
2012-06-12 11:47 1368从三个方面着手优化 : 1. hadoop配置 2. ... -
hadoop集群dfs.data.dir目录权限问题导致节点无法启动
2012-06-11 18:32 6186安装使用Hive的时候发现文件无法从本地拷贝到hadoo ... -
hadoop中的balancer
2012-06-11 15:49 1102对于HDFS集群,经常长时间的运行,尤其是大量的delete操 ... -
Hadoop集群上使用Lzo压缩
2012-05-28 11:03 900转自:http://www.tech126.com/hadoo ... -
使用Hive读取Hbase中的数据
2012-05-23 13:12 2239转自:http://www.4ucode.com/Study/ ... -
在XP系统下配置eclipse集成hadoop开发
2012-05-05 11:09 1009一、目的:由于hadoop只能在Linux环境下运行,所以对于 ... -
使用Hive读取Hbase中的数据
2012-04-18 14:24 1053转自:http://www.4ucode.com/Study/ ... -
Web日志分析方法概述 让复杂的数据挖掘变得简单可行
2012-04-13 16:31 834志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志 ... -
应用sqoop将MySQL数据库中的数据导入Hbase
2012-04-12 11:31 2033转自:http://www.bwxxkj.com/a/jish ... -
hadoop中的trash机制,恢复删除的文件
2012-03-31 13:46 2153Hadoop回收站trash,默认是关闭的。 1.修改con ... -
Hadoop 和DBMS 的互补性
2012-03-29 12:22 643随着Microsoft 也加入Hadoop 阵营,Hadoop ... -
Hadoop 中的两表join
2012-03-29 12:20 823转自:http://www.gemini52013 ... -
hadoop常见错误
2012-03-24 13:04 1619错误1:bin/hadoop dfs 不能正常启动,持续提 ... -
hbase运维
2012-03-23 17:33 1281转自:http://blog.bluedavy.c ...
相关推荐
网上没找到2.8.1的版本,自己编译,经测试可用。
hadoop-eclipse-plugin.jar插件基于Ubuntu18.04和Hadoop-3.2.1编译的,最后可以在eclipse创建Map Reduce文件
Hadoop_eclipse-plugin编译方法
最新的hadoop-eclipse-plugin-2.7.4.jar 很好用的hadoop的eclipse插件。自己编译的。 经过测试,使用没有任何问题。 请各位放心使用
hadoop1.0.0没有提供eclipse插件的jar包,但是提供了源码,编译后,供大家下载。
hadoop版本2.7.7 Eclipse 版本4.5.1,dfs location插件,自己编译成功,使用有效,将该jar包放到eclipse的plugins目录下
hadoop2x-eclipse-plugin-master,java1.8(64位)编译,可以使用。
hadoop-eclipse-plugin-2.7.2.jar,编译环境win10-64,ant-1.9.6,eclipse-4.5.2(4.5.0可用,其他未测),hadoop-2.7.2
eclipse hadoop插件 ,基于hadoop2.8.2,亲测可用,不想用分下载的可以直接到这位大大的地盘去下载编译:https://github.com/jiaoyilun/hadoop2x-eclipse-plugin
hadoop-eclipse-plugin-2.7.7.jar,插件使用环境hadoop-2.7.7版本+eclipse较新的版本。
jar包是基于 hadoop 2.8.2 版本编译生成的,需要将jar放到eclipse中的plugins文件夹中
编译的版本:hadoop-2.7.7 + eclipse-4.11 + jdk-1.8.0_221
hadoop-eclipse-plugin-2.6.4.jar,编译环境win7-64,ant-1.9.6,eclipse-4.5.2(4.5.0测试也可用,其他未测),hadoop-2.6.4
win32位上编译的hadoop-eclipse-plugin,hadoop版本为2.6.0
hadoop eclipse plugin 我在mac系统上编译的,共享给大家
hadoop Eclipse插件Linux版本,编译环境hadoop2.2.0
1、使用hadoop-eclipse-plugin-2.9.2.jar该eclipse插件,可以访问远程的hdfs 2、使用hadoop-eclipse-plugin-2.9.2-local.jar,访问本地的文件系统 3、wintuils_hadoop.zip本地eclipse运行需要的包。 另外2.9.2hadoop...
此包基于jdk1.8.181+windows10+ant_1.10.9+eclipse_kepler版本编译而成,自己使用了很久,非常好用!
已配置2.7.3版本,hadoop2x-eclipse-plugin用于编译hadoop-eclipse-2.7.3.jar包。