因為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。