我下面這個教程: http://www.cloudera.com/content/cloudera-content/cloudera-docs/HadoopTutorial/CDH4/Hadoop-Tutorial/ht_topic_5_2.htmlCloudera的CDH4字計數的Hadoop教程 - 發出
它說以下內容:
的javac -cp類路徑-d wordcount_classes WordCount.java
,其中類路徑:
CDH4 - /usr/lib/hadoop/*:/usr/lib/hadoop/client-0.20/* CDH3 - /usr/lib/hadoop-0.20/hadoop-0.20.2-cdh3u4-core.jar
我已經下載了「cloudera-quickstart-demo-vm-4.2.0-vmware」。 以用戶cloudera身份運行。
[[email protected] wordcount]$ javac -cp /usr/lib/hadoop/*:/usr/lib/hadoop/client-0.20/* -d wordcount_classes WordCount.java
incorrect classpath: /usr/lib/hadoop/*
incorrect classpath: /usr/lib/hadoop/client-0.20/*
----------
1. ERROR in WordCount.java (at line 8)
import org.apache.hadoop.fs.Path;
^^^^^^^^^^
檢查cp文件夾時:。
[[email protected] wordcount]$ ls -l /usr/lib/hadoop
total 3500
drwxr-xr-x. 2 root root 4096 Apr 22 14:37 bin
drwxr-xr-x. 2 root root 4096 Apr 22 14:33 client
drwxr-xr-x. 2 root root 4096 Apr 22 14:33 client-0.20
drwxr-xr-x. 2 root root 4096 Apr 22 14:36 cloudera
drwxr-xr-x. 2 root root 4096 Apr 22 14:30 etc
-rw-r--r--. 1 root root 16536 Feb 15 14:24 hadoop-annotations-2.0.0-cdh4.2.0.jar
lrwxrwxrwx. 1 root root 37 Apr 22 14:30 hadoop-annotations.jar -> hadoop-annotations-2.0.0-cdh4.2.0.jar
-rw-r--r--. 1 root root 46855 Feb 15 14:24 hadoop-auth-2.0.0-cdh4.2.0.jar
lrwxrwxrwx. 1 root root 30 Apr 22 14:30 hadoop-auth.jar -> hadoop-auth-2.0.0-cdh4.2.0.jar
-rw-r--r--. 1 root root 2266171 Feb 15 14:24 hadoop-common-2.0.0-cdh4.2.0.jar
-rw-r--r--. 1 root root 1212163 Feb 15 14:24 hadoop-common-2.0.0-cdh4.2.0-tests.jar
lrwxrwxrwx. 1 root root 32 Apr 22 14:30 hadoop-common.jar -> hadoop-common-2.0.0-cdh4.2.0.jar
drwxr-xr-x. 3 root root 4096 Apr 22 14:36 lib
drwxr-xr-x. 2 root root 4096 Apr 22 14:33 libexec
drwxr-xr-x. 2 root root 4096 Apr 22 14:31 sbin
我在做什麼錯? 這是直接來自安裝了CDH4的Cloudera Quickstart VM。 繼「Hadoop教程」之後。 它甚至說
**Prerequisites**
Ensure that CDH is installed, configured, and running. The easiest way to get going quickly is to use a CDH4 QuickStart VM
這也正是從那裏我正在從本教程 - 在CDH4快速啓動虛擬機。
我在做什麼錯?
*更新 版本信息;
[[email protected] cloudera]$ cat cdh_version.properties
# Autogenerated build properties
version=2.0.0-cdh4.2.0
git.hash=8bce4bd28a464e0a92950c50ba01a9deb1d85686
cloudera.hash=8bce4bd28a464e0a92950c50ba01a9deb1d85686
cloudera.base-branch=cdh4-base-2.0.0
cloudera.build-branch=cdh4-2.0.0_4.2.0
cloudera.pkg.version=2.0.0+922
cloudera.pkg.release=1.cdh4.2.0.p0.12
cloudera.cdh.release=cdh4.2.0
cloudera.build.time=2013.02.15-18:39:29GMT
cloudera.pkg.name=hadoop
CLASSPATH ENV:
[[email protected] bin]$ echo $CLASSPATH
:/usr/lib/hadoop/*:/usr/lib/hadoop/client-0.20/*
編輯! 所以我想我明白了。 這是一個可能與Cloudera CD4 VM快速啓動虛擬機相關的新問題: from:This Post昨天是 另一個人遇到完全相同的問題。 看來,javac程序在導出路徑上不能正確接受通配符。 我必須做到以下幾點:
export CLASSPATH=/usr/lib/hadoop/client-0.20/\*:/usr/lib/hadoop/\*
然後 javac的-d [未經-cp覆蓋]
javac -d wordcount_classes/ WordCount.java
只有警告將會出現。
我想知道Cloudera是否需要修復它們的快速啓動虛擬機。
確保CDH4庫,在那裏你覺得他們應該是,這個錯誤只是說,它不能找到的Hadoop庫 – greedybuddha
我怎麼知道那裏的圖書館?我做了一個'hadoop classpath'命令,甚至嘗試了一切。沒有。 –
嘗試做一個'ls/usr/lib/hadoop /'裏面有什麼? – greedybuddha