hadoop2编译运行wordCount.java程序

因为hadoop2中没有hadoop-core.XXX.jar包,因此编译方式有所不同。

1。在/usr/local目录中新建wordCount文件夹

mkdir /wordCount

echo "hello hadoop">./input/file1写入数据

2。Hadoop 的 classhpath 信息添加到 CLASSPATH 变量中,在 ~/.bashrc 中增加:

vi ~/.bashrc

export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):):$CLASSPATH

source ~/.bashrc 使变量生效

3.进入/usr/local目录,编译wordCount.java文件

javac wordCount.java,生成几个.class文件。

4.将目录下的.class文件打成jar包

jar -cvf WordCount.jar ./WordCount*.class

目录下生成一个wordCount.jar文件

5.拷贝wordCount.jar到wordCount下

cp WordCount.jar wordCount 

6.运行wordCount.jar文件

/usr/local/hadoop/bin/hadoop jar WordCount.jar WordCount input output

提示没有/user/root/input路径,因此先创建目录

$HADOOP_HOME/bin/hadoop dfs -mkdir /user

$HADOOP_HOME/bin/hadoop dfs -mkdir /user/root

$HADOOP_HOME/bin/hadoop dfs -ls /user/root/input

可以用命令$HADOOP_HOME/bin/hadoop dfs -ls /user/root查看目录下的文件

现在可以向input目录中写入文件,将之前创建的file1、file2文件上传到hdfs

$HADOOP_HOME/bin/hdfs dfs -copyFromLocal /usr/local/wordCount/file1 /user/root/input

$HADOOP_HOME/bin/hdfs dfs -copyFromLocal /usr/local/wordCount/file2 /user/root/input

$HADOOP_HOME/bin/hadoop dfs -ls /user/root/input可以看到目录下有两个文件。

 /usr/local/hadoop/bin/hadoop jar WordCount.jar WordCount input output运行程序。

得到的结果可以到$HADOOP_HOME/bin/hadoop dfs -cat /user/root/output/*中看

如果想再次运行程序需要将output目录删除$HADOOP_HOME/bin/hadoop dfs -rm -r /user/root/output。

 

posted @ 2018-07-19 22:24  fuyusong  阅读(1580)  评论(0编辑  收藏  举报