hadoop 在eclipse 中调试

转  http://blog.sciencenet.cn/blog-540233-591217.html
尝试了一下 可以打断点调试了


测试一:grep
    bin/hadoop fs -put conf input 把hadoop文件夹下的conf文件夹复制到dfs的/user/grid/input,做为输入文件夹
    bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' 运行hadoop文件夹下的jar例子程序中的grep小程序(class),输入文件夹是input,输出文件夹是output,grep查找的是dfs开头的内容。此output文件夹貌似也不要手动建立。
    bin/hadoop fs -get output output 将运行结果output文件夹复制到hadoop(当前目录)下
    cat output/* 再查看输出
    或直接在DFS中查看结果:bin/hadoop fs -cat output/*

    测试二:wordcount
    在hadoop/input中建test1.txt(hello world)和test2.txt(hello hadoop)
    bin/hadoop fs -put input in
    bin/hadoop jar hadoop-examples-*.jar wordcount in out
    bin/hadoop fs -cat out/*
    则结果是:hadoop 1    hello 2    world 1

6.配置分布式(仍都在grid用户下,没试过,请查看hadoop分布式配置)

7.hadoop的使用
    关进程,在hadoop文件夹下:bin/stop-all.sh
    查看命令:bin/hadoop
    分布式文件系统:
        HDFS:/home/grid/tmp/hadoop/mapred/system ----格式化后的DFS系统
                    /usr/grid/in ----直接复制(bin/hadoop fs -put input in)到in目录的情况
    在文件系统中新建目录:bin/hadoop fs -mkdir /tmp/wordcount
    复制本地文件到文件系统:bin/hadoop fs -copyFromLocal /home/grid/word.txt  /tmp/wordcount/word.txt

8.eclipse安装到/home/grid/app/并汉化
Eclipse版本:eclipse-java-helios-SR2-linux-gtk.tar.gz(3.7的版本)
Eclipse官方下载 http://www.eclipse.org/downloads/
各版本的区别:
    Eclipse IDE for Java Developers是Eclipse的platform加上JDT插件,用来java开发的
    Eclipse IDE for Java EE Developers应该是Eclipse的platform加上WTP插件,用来java企业级开发的
    Eclipse IDE for C/C++ Developers是Eclipse的platform加上CDT插件,用来做C和C++开发的
    Eclipse for RCP/Plug-in Developers是Eclipse的SDK,主要用来插件开发
    Eclipse Classic就是原来的Eclipse,还是主要用来开发java
将eclipse解压:tar xvf eclipse-java-indigo-SR2-linux-gtk.tar.gz则运行是英文版

汉化方法:http://www.oschina.net/question/111098_14079
汉化包下载:http://www.eclipse.org/babel/downloads.php
将BabelLanguagePack-eclipse-zh_3.7.0.v20111128043401.zip下的features和plugins下的文件分别放到eclipse目录下,再启动eclipse即中文。

9.eclipse安装hadoop插件及配置
将hadoop-eclipse-plugin-1.0.3.jar复制到eclipse/plugins下,
重启eclipse,窗口-首选项-Hadoop Map/Reduce,设置hadoop的安装目录/home/grid/hadoop-1.0.3
窗口-显示视图-Map/Reduce Location,则会出现Map/Reduce Location的视图窗口,在窗口右上角点新建,新建一个Location:
    Location Name: hadoop(任意)
    Map/Reduce Master: localhost 9000 (同hadoop中core-site.xml mapred-site.xml中的配置)
    DFS Master: localhost 9001
    配置后,在Project Exploror窗口中DFS Location出现hadoop-(2)-... 说明成功,能连上DFS服务

10.eclipse中wordcount例子:
新建项目:File-->New-->Other-->Map/Reduce Project ,项目名可以随便取,如WordCount。
复制 hadoop安装目录下/src/example/org/apache/hadoop/example/WordCount.java到刚才新建的项目下面。

输入文件准备:在hadoop/input中建test1.txt(hello world)和test2.txt(hello hadoop)
                            bin/hadoop fs -put input in

运行的配置:
    在新建的项目Hadoop,点击WordCount.java,右键-->Run As-->Run Configurations
    在弹出的Run Configurations对话框中,点Java Application,右键-->New,这时会新建一个application名为WordCount
    配置运行参数,点Arguments,在Program arguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如:
hdfs://localhost:9000/user/grid/in   hdfs://localhost:9000/user/grid/out
如果运行时报java.lang.OutOfMemoryError: Java heap space 配置VM arguments(在Program arguments下)
-Xms512m -Xmx1024m -XX:MaxPermSize=256m
运行,控制台会输入一大堆信息,但查看结果:bin/hadoop fs -cat out/*





猜你喜欢

转载自lingzhi007.iteye.com/blog/1689557