2014-12-02 64 views
9

Tôi đã thiết lập Apache Spark 1.1.1 để chạy trên YARN (Hadoop-2.5.2). Tôi có thể chạy các chương trình bằng cách sử dụng lệnh spark-submit.Chạy chương trình Apache Spark trên YARN từ IntelliJ IDEA

Tôi đang sử dụng IntelliJ IDEA 14. Tôi có thể tạo các tạo tác và chạy jar kết quả bằng cách sử dụng spark-submit.

Tuy nhiên, tôi đã tự hỏi liệu có thể chạy toàn bộ chương trình trực tiếp từ IntelliJ không?

Tôi đã thêm các thư viện cần thiết và kích hoạt hồ sơ hadoop-2.4. Tuy nhiên, tôi sẽ gặp phải lỗi sau đây

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.security.UserGroupInformation.getCredentials()Lorg/apache/hadoop/security/Credentials; 
at org.apache.spark.deploy.yarn.ClientBase$class.$init$(ClientBase.scala:58) 
at org.apache.spark.deploy.yarn.Client.<init>(Client.scala:37) 
at org.apache.spark.deploy.yarn.Client.<init>(Client.scala:43) 
at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:91) 
at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:141) 
at org.apache.spark.SparkContext.<init>(SparkContext.scala:333) 
at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53) 
at WordCountWorkFlow.main(WordCountWorkFlow.java:24) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) 

Ai đó có thể cho tôi biết tôi đang gặp sự cố ở đâu?

+1

Không tôi đã không. Ngay bây giờ, tôi đang xây dựng hiện vật của dự án của tôi và chạy nó bằng cách sử dụng tia lửa gửi. – aps

+1

Btw, khi bạn xây dựng hiện vật, bạn đã làm những bước nào? Bạn có bao gồm các depencies? Một cái lọ đơn giản kết thúc với 100MB cho tôi ... – Stephane

+0

Trong khi sử dụng ý tưởng IntelliJ, tôi chỉ thêm đầu ra biên dịch vào các tạo phẩm, ngoài các thư viện được đề xuất. Kích thước khoảng 13,8 KB. – aps

Trả lời

0

Trong Intellij bạn phải thêm sự phụ thuộc đó là con đường của conf dir Hadoop của bạn

đi đến dự án thiết lập và phụ thuộc thêm đường dẫn $ HADOOP_HOME/etc/hadoop

và nếu bạn đang sử dụng bất kỳ lambda sau đó từ thiết lập dự án -> nguồn -> cấp độ ngôn ngữ thiết lập 8-lambda loại annonation enter image description here

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