`
tessykandy
  • 浏览: 79190 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

win7下Eclipse开发Hadoop应用程序环境搭建

 
阅读更多

Hadoop版本:1.0.0

 

安装ECLIPSEHADOOP 1.0.0版本的插件

1)  HadoopEclipse插件和Eclipse的版本关联性比较大,各版本间可能不兼容。网上搜索发现提供下载的1.0.0插件都是支持Eclipse3.7的。下载安装Eclipse3.7版本(Indigo 版本)。

 

2)  Hadoop 1.0.0 版本的安装目录下,系统并没有提供hadoop-eclipse-plugin-1.0.0.jar插件。可以通过别的方法获得:

a)  在安装的目录下 src/contrib/eclipse路径下相关的源码,通过编译该源码,可以得到该插件。

b)  csdn上面有hadoop-eclipse-plugin-1.0.0.jar 插件下载。下载网址:http://download.csdn.net/download/lwj_dx/4061857

 

3)  如果直接将下载hadoop-eclipse-plugin-1.0.0.jar复制到eclipse的插件目录中,在连接DFS时会出现错误,提示信息为: "error: failure to login",弹出的错误提示框内容为"An internal error occurred during: "Connecting to DFS hadoop". org/apache/commons/configuration/Configuration". 经过察看Eclipselog,发现是缺少jar包导致的。进一步查找资料后,发现直接复制hadoop-eclipse-plugin-1.0.0.jar,该包中lib目录下缺少了jar包。

 

4)   首先要对hadoop-eclipse-plugin-1.0.0.jar进行修改。用归档管理器打开该包,发现只有commons-cli-1.2.jar hadoop-core.jar两个包。将HADOOP_HOME/lib目录下的 commons-configuration-1.6.jar , commons-httpclient-3.0.1.jar , commons-lang-2.4.jar , jackson-core-asl-1.0.1.jar jackson-mapper-asl-1.0.1.jar 5个包复制到hadoop-eclipse-plugin-0.20.203.0.jarlib目录下,如下图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

然后,修改该包META-INF目录下的MANIFEST.MF,将classpath修改为以下内容:

Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.0.1.jar,lib/jackson-mapper-asl-1.0.1.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar

5)    安装插件就很简单了,把这个文件放到 Eclipse的安装目录下的plugins,重新启动Eclipse

 

Eclipse开发Hadoop项目

1)  hadoop1.0.0解压到开发系统的某个目录,如:

 

2)       首先,打开Eclipse,设置好workspace

3)       打开Window-->Preferens,你会发现Hadoop Map/Reduce选项,在这个选项里你需要配置Hadoop installation directory。配置完成后退出。 

 

4)       选择window -> open perspective -> Other... 选择有大象图标的 Map/Reduce.

 

此时,就打开了Map/Reduce的开发环境。可以看到,右下角多了一个Map/Reduce Locations的框。如下图:

 

然后,设置Hadoop的环境参数。选择Map/Reduce Locations 标签,点击该标签最右边的大象图标,即那个齿轮状图标右侧的大象图标,打开参数设置页面,参数填写如下图:

 

Location Name 此处为参数设置名称,可以任意填写

Map/Reduce Master (此处为Hadoop集群的Map/Reduce地址,应该和mapred-site.xml中的mapred.job.tracker设置相同)

    Host: 10.0.0.211

    port: 9001

DFS Master  (此处为Hadoopmaster服务器地址,应该和core-site.xml中的 fs.default.name 设置相同)

    Host: 10.0.0.211

    Port: 9000

设置完成后,点击Finish就应用了该设置。

此时,在最左边的Project Explorer中就能看到DFS的目录,如下图所示。

 

 

注,如果当前登录windows的用户名和hadoop集群的用户名不一致,将没有权限访问,提示错误如下:

Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=d, access=WRITE, inode="data":zxg:supergroup:rwxr-xr-x

        at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:207)

 

管理DFS system目录。目前做法是将hadoop服务集群关闭权限认证,修改hadoop安装

集群masterhadoop/conf/mapred-site.xml,增加:

<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>

 

 正式发布时,可以在服务器创建一个和hadoop集群用户名一致的用户,即可不用修改masterpermissions策略。

 

5)   新建项目:File-->New-->Other-->Map/Reduce Project ,项目名可以随便取,如HadoopTest

6) 将测试代码 src.zip解压到HadoopTest源码目录的src目录下,刷新项目源码目录结构如下:

 

Ejob.java: 一个开源库,实现自动加载hadoop配置文件并将JAVA程序打包成jar包发布到hadoop集群,其引用范例参见WordCountTest.java

有关Ejob介绍参见:http://www.cnblogs.com/spork/archive/2010/04/07/1706162.html

 

 

 

 

 

 

 

 

 

  • 大小: 160.3 KB
  • 大小: 153.3 KB
  • 大小: 60 KB
  • 大小: 31.5 KB
  • 大小: 31.2 KB
  • 大小: 58.1 KB
  • 大小: 75.5 KB
  • src.zip (6.2 KB)
  • 下载次数: 264
  • 大小: 25.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics