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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM