我目前在Eclipse中使用成功(參見下面的類路徑): Hadoop的共* Hadoop的hdfs- * 類Hadoop MapReduce的客戶端* 類Hadoop MapReduce的客戶jobclient * 蜂巢-JDBC * 蜂房metastore- * 蜂巢服務 libfb303 * libthrift * log4j的 SLF4J的API * SLF4J-log4j12 *
其中有些是在不同的地方,有些是在Hadoop的目錄,Hadoop的HDFS ,hadoop-mapreduce,hadoop紗線, hbase,hcatalog,配置單元。
我包括所有那些有jar文件然後從那裏修剪下來的位置。在Linux中,我出口是這樣的:
出口CLASSPATH =:$ CLASSPATH.::/usr/lib/hadoop/lib/native/ :/ usr/lib中/的Hadoop/
但是,爲了回答你的問題,只需找到上面的庫,並應該工作。另外,如果你想與已建成的系統來播放,請嘗試Cloudera的快速啓動VM:
https://www.cloudera.com/content/support/en/downloads/download-components/download-products.html?productID=F6mO278Rvo
它已經自帶了Hadoop的安裝和MapReduce作業的一些示例Eclipse代碼。
Windows和Linux沒有什麼區別,只是設置類路徑的方式。這些庫是一樣的。
編輯:
順便說一句,我編譯我的代碼是這樣的(首先創建mapstuff_classes目錄):
javac -cp $CLASSPATH -d mapstuff_classes MapStuff.java
然後創建一個jar文件:
jar -cvf mapstuff.jar -C mapstuff_classes/ .
後來總算像這樣運行:
hadoop fs -mkdir input // creates a directory in hadoop
hadoop fs -copyFromLocal data.csv input // copies your data into hadoop
hadoop jar mapstuff.jar MapStuff input output // hadoop creates the output directory, took me a while to realize that.
嘗試找到這些庫並將它們添加到類路徑中:hadoop-mapreduce-client * hadoop-mapreduce-client-jobclient * –