• hadoop 运行 Java程序


    最近在研究分布式数据,其中用到的就是Hadoop, Hadoop网上的资料不多,特别是运行中运行的问题更是找不到,以下是我运行的一点心得,嘻嘻。

    如果在map/reduce的程序中用到java 的代码,可以在java的环境下写好,我用的是eclipse。

    1.    进入工程目录找到代码,进bin目录,将用到的包打成 .jar 文件。bin 文件下是 .class文件,一定要是bin,不是src文件中的 .java 文件。  在ubuntu的打.jar 的命令是 jar -cvf  jarname.jar ./*  

    2.      将打好的 .jar文件复制到 Hadoop的目录下。

    3.       切换到Hadoop目录下,编译含map/reduce函数的test .java 文件。命令: javac -classpath hadoop-0.19.2-dev-core.jar:jarname.jar test.jar -d a.  a是编译后.class存放的文件夹。

    编译时要注意每次改动test.java文件时都要编译一次,而且在core.jar:jarname.jar中不能有空格,我就是因为有空格,导致test.java文件中老是出现软件包不存在的错误。而且这是jarname.jar 要在Hadoop目录下。如果没有:后面的,是不是就直接在lib文件下匹配,以后在研究下。
    如果不用引人其它包,把:jarname.jar 去掉。

    4.       进入含编译文件的a 文件夹,打 tests.jar 文件。

    5.        运行代码: bin/hadoop jar tests.jar org.test in out org.test中org是包名, in 是输入文件,out是输出文件。

    其中tests.jar 放在Hadoop目录下就可以了,但引用的jarname.jar 要放到lib文件夹下。  

  • 相关阅读:
    人生应该接受的教育
    【转】俞军给淘宝产品经理的分享
    【转】伪O2O已死?2016年实体零售将迎来真正的O2O
    【转】一个测试工程师的2015总结和2016年小展望
    【转】移动App测试中的最佳做法
    Net作业调度(一) -Quartz.Net入门
    Quartz学习
    Newtonsoft.Json.dll
    用C#实现Base64处理,加密解密,编码解码
    mysql 连接数的最大数
  • 原文地址:https://www.cnblogs.com/itgg168/p/2785594.html
Copyright © 2020-2023  润新知