如何使编写的java程序在hadoop 2.2中运行的完整过程

来源:互联网 发布:mac电脑控制安卓手机 编辑:程序博客网 时间:2024/05/29 03:26

如何使编写的java程序在hadoop 2.2中运行的完整过程

(在不使用eclipse情况

在不使用eclipse情况使java程序在hadoop 2.2中运行的完整过程。整个过程中其实分为java程序的编译,生成jar包,运行测试。

这三个步骤运用的命令都比较简单,主要的还是如何找到hadoop 2.2提供给java程序用来编译的jar包。具体可以查看:

HADOOP_HOME/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib目录

下面会通过一个在hadoop中创建一个目录的JAVA例子来进行演示

具体代码如下:


package com.wan.demo;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;public class HADemo {public static void main(String[] args) {// TODO Auto-generated method stubmkdir(args[0]);}public static void mkdir(String dir){Configuration configuration=new Configuration();FileSystem fs;try {fs = FileSystem.get(configuration);fs.mkdirs(new Path(dir));fs.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

HADemo.java文件拷贝到linux环境中

配置HADOOP_HOME/bin到环境中,启动集群,进入HADemo.java文件目录中

:下面的lib目录里面的文件由HADOOP_HOME/share/hadoop/httpfs/tomcat/webapps/ webhdfs/WEB-INF/lib目录中获取,下面做的目的是为了缩减命令长度

1.编译java

# mkdir class

#Javac -classpath .:lib/hadoop-common-2.2.0.jar:lib/hadoop-annotations-2.2.0.jar -d class HADemo.java

2.生成jar

#jar -cvf hademo.jar -C class/ .

added manifest

adding: com/(in = 0) (out= 0)(stored 0%)

adding: com/wan/(in = 0) (out= 0)(stored 0%)

adding: com/wan/demo/(in = 0) (out= 0)(stored 0%)

adding: com/wan/demo/HADemo.class(in = 844) (out= 520)(deflated 38%)

3.测试运行

#hadoop jar hademo.jar com.wan.demo.HADemo /test

检测:

#hadoop fs -ls /

 

结束!



0 0
原创粉丝点击