2015-03-25 20 views
7

Tôi đang cố gắng tìm hiểu MapReduce nhưng hiện tại tôi đã mất một chút.Không thể tìm thấy hoặc tải lớp chính com.sun.tools.javac.Main hadoop mapreduce

http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html#Usage

Riêng này tập hợp các hướng dẫn:

Compile WordCount.java and create a jar: 

$ bin/hadoop com.sun.tools.javac.Main WordCount.java 

Khi tôi gõ vào hadoop trong thiết bị đầu cuối của tôi, tôi có thể nhìn thấy "Trợ giúp" made cung cấp luận cứ vì vậy tôi tin rằng tôi đã cài đặt hadoop .

Khi tôi gõ vào lệnh:

Compile WordCount.java và tạo ra một jar:

hadoop com.sun.tools.javac.Main WordCount.java

tôi nhận được lỗi:

Error: Could not find or load main class com.sun.tools.javac.Main

Tôi biết tôi có Java được cài đặt và làm việc trên máy tính của tôi bởi vì tôi đã sử dụng nó trước khi tạo các chương trình khác.

Lệnh này kết quả đầu ra:

$ /usr/libexec/java_home 
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home 

lẽ tôi đang thiếu một bộ công cụ Java? Không chắc chắn

+1

là Wordcount.java của bạn nằm trong thư mục bin/hadoop. –

+0

là bạn có thể chạy nó. –

+0

Có thể trùng lặp của [Java: com.sun.tools.javac.Main không tìm thấy khi cố gắng biên dịch chương trình Hadoop] (https://stackoverflow.com/questions/27299273/java-com-sun-tools-javac-main- chương trình không tìm thấy khi đang cố gắng biên dịch-hadoop) – Vadzim

Trả lời

15

Tôi gặp lỗi tương tự.

Và tôi giải quyết nó bằng cách tham số môi trường HADOOP_CLASSPATH add:

export HADOOP_CLASSPATH=/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar 

Hãy chắc chắn rằng bạn đã cài đặt OpenJDK7. Tôi đang sử dụng Ubuntu 14.04:

sudo apt-get install openjdk-7-jdk 
+0

Vì nó ban đầu được nêu trong tài liệu (hướng dẫn): https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop- mapreduce-client-core/MapReduceTutorial.html – PALEN

2

Bạn không thể cài đặt jdk. Kiểm tra /lib/tools.jar trong thư mục java của bạn.
Nếu không, #sudo apt-get cài đặt mặc định-jdk và lỗi biến mất.

2

bin/hadoop com.sun.tools.javac.Main WordCount.java là cuối cùng chạy dưới dạng java com.sun.tools.javac.Main WordCount.java.

Nếu classpath/javahome của bạn là đúng, sau đó thử tự mình gõ java ... và kiểm tra tên com.sun.tools... bằng cách sử dụng khóa TAB. Có lẽ cái tên đó không phải là cái tên thích hợp. (trứng. bạn đang sử dụng java từ Oracle thay vì SUN)

Một đề xuất khác là sửa đổi $HADOOP_HOME/etc/hadoop/hadoop-env.sh. Thêm tools.jar vào HADOOP_CLASSPATH.

+0

Cảm ơn bạn! Điều này làm việc cho tôi. –

Các vấn đề liên quan