Hadoop从入门到精通之 如何运行hadoop程序

Hi 大家好,我是stefan,今天给大家带来的时如何运行Hadoop程序。

大家学习所有的IT技术都是通过先运行它们的范例开始的,Hadoop也不例外。Hadoop的运行可以分为三种:

1、在bash中敲代码,对每个文件编译运行

2、在bash中敲代码,打包成jar包后执行

3、在eclipse中编译后直接执行


===>首先我们来看看第1种方法:

第一种方法首先将我们写好的.java的Hadoop文件使用javac -classpath命令进行编译,示例如下:

javac -classpath /Users/guoshenglong/Documents/Hadoop/hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar urlRead.java 
这里由于我们的程序urlRead.java使用到了Hadoop中的hadoop-common-2.2.0.jar包中的一些类,所有我们把它设置为urlRead.java编译时的classpath。

现在我们编译好了,接下来是运行了,我们通过命令:

hadoop urlRead hdfs://localhost:9000/user/guoshenglong/hdfsTest/a.txt
来运行我们的程序,这里的urlRead指的就是hadoop帮助里面的(在bash中敲入hadoop回车就可以看到帮助)

CLASSNAME            run the class named CLASSNAME

后面hdfs://...就是程序执行的参数;运行完成,得到结果:

aaa bbb

===>接下来看第二种执行方法:

我们可以通过maven来管理我们的项目,maven大家可以自己百度然后安装一下,是一个比较常见的项目管理工具。首先我们新建项目,在命令行中敲下面的命令:

mvn archetype:generate -DgroupId=com.vertra.testFs -DartifactId=URLRead -DinteractiveMode=false

archetype:generate参数是创建一个新的项目,记住,最好不要用archetype:create,这个方法已经被弃用了。-DgroupId指定了程序的包结构,-DartifactId指定了项目根目录的名字,-DinteractiveMode指定了关闭用户交互

,执行完成后生成的项目目录结构如下:

URLRead/
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- vertra
    |               `-- testFs
    |                   |-- App.java
    |                   `-- urlRead.java
    `-- test
        `-- java
            `-- com
                `-- vertra
                    `-- testFs
                        `-- AppTest.java

我们需要修改根目录下面的pom.xml文件,pom文件内容如下:


  4.0.0
  com.vertra.testFs
  URLRead
  jar
  1.0
  URLRead
  http://maven.apache.org
  
    
      junit
      junit
      3.8.1
      test
    
  
  
      org.apache.hadoop
      hadoop-common
      2.2.0
  
  
  
      
          
              org.apache.maven.plugins
              maven-jar-plugin
              
                  
                      false
                      
                          com.vertra.testFs.urlRead
                      
                  
              
          
      
  


注意:我们需要添加依赖:

把hadoop-common-2.2.0.jar添加到依赖项中,还要注意我们需要指定编译对象,

com.vertra.testFs.urlRead
很多人就是由于没有指定编译对象导致打包出错。

我们可以进去到URLRead目录下打包了,执行命令:

mvn package
我们会发现根目录下多了一个target目录,里面有我们打包好的jar包。

我们运行jar包:

Hadoop jar test.jar args

args是传入的参数。


===>eclipse中运行:

我们需要编译一个eclipse的插件,安装后就可以执行hadoop程序了

这部分比较简单,这里就不累述了。

转载请注明出处:http://blog.csdn.net/guoshenglong11/article/details/23443473




你可能感兴趣的:(Hadoop)