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。