Tôi đã Spark và Hadoop cài đặt trên OS X. Tôi làm việc thành công thông qua một ví dụ nơi Hadoop chạy tại địa phương, đã file lưu trữ trong HDFS và tôi chạy châm ngòi vớiApache Spark chạy cục bộ cho từ chối Lỗi kết nối
spark-shell --master yarn-client
và từ bên trong shell làm việc với HDFS. Tôi đang gặp vấn đề, tuy nhiên, cố gắng để có được Spark để chạy mà không cần HDFS, chỉ cục bộ trên máy tính của tôi. Tôi nhìn this answer nhưng nó không cảm thấy đúng rối tung xung quanh với các biến môi trường khi Spark documentation nói
Thật dễ dàng để chạy cục bộ trên một máy - tất cả bạn cần là phải có java cài đặt trên PATH hệ thống của bạn, hoặc biến môi trường JAVA_HOME trỏ đến cài đặt Java.
Nếu tôi chạy ví dụ cơ bản SparkPi
Tôi nhận được kết quả chính xác.
Nếu tôi cố gắng chạy các ứng dụng Java mẫu they provide, một lần nữa, tôi nhận ra, nhưng lần này với kết nối từ chối lỗi liên quan đến cổng 9000, mà âm thanh như nó đang cố gắng để kết nối với Hadoop, nhưng tôi không biết tại sao vì tôi không chỉ định rằng
$SPARK_HOME/bin/spark-submit --class "SimpleApp" --master local[4] ~/study/scala/sampleJavaApp/target/simple-project-1.0.jar
Exception in thread "main" java.net.ConnectException: Call From 37-2-37-10.tssg.org/10.37.2.37 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
...
...
...
org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:604)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:699)
at org.apache.hadoop.ipc.Client$Connection.access(Client.java:367)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1462)
at org.apache.hadoop.ipc.Client.call(Client.java:1381)
... 51 more
15/07/31 11:05:06 INFO spark.SparkContext: Invoking stop() from shutdown hook
15/07/31 11:05:06 INFO handler.ContextHandler: stopped o.s.j.s.ServletContextHandler{/metrics/json,null}
...
...
...
15/07/31 11:05:06 INFO ui.SparkUI: Stopped Spark web UI at http://10.37.2.37:4040
15/07/31 11:05:06 INFO scheduler.DAGScheduler: Stopping DAGScheduler
15/07/31 11:05:06 INFO spark.MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
15/07/31 11:05:06 INFO util.Utils: path = /private/var/folders/cg/vkq1ghks37lbflpdg0grq7f80000gn/T/spark-c6ba18f5-17a5-4da9-864c-509ec855cadf/blockmgr-b66cc31e-7371-472f-9886-4cd33d5ba4b1, already present as root for deletion.
15/07/31 11:05:06 INFO storage.MemoryStore: MemoryStore cleared
15/07/31 11:05:06 INFO storage.BlockManager: BlockManager stopped
15/07/31 11:05:06 INFO storage.BlockManagerMaster: BlockManagerMaster stopped
15/07/31 11:05:06 INFO scheduler.OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
15/07/31 11:05:06 INFO spark.SparkContext: Successfully stopped SparkContext
15/07/31 11:05:06 INFO util.Utils: Shutdown hook called
15/07/31 11:05:06 INFO util.Utils: Deleting directory /private/var/folders/cg/vkq1ghks37lbflpdg0grq7f80000gn/T/spark-c6ba18f5-17a5-4da9-864c-509ec855cadf
Bất kỳ gợi ý/giải thích nào về nơi tôi sai sẽ được đánh giá cao!
CẬP NHẬT
Dường như thực tế tôi có các biến môi trường HADOOP_CONF_DIR
bộ đang gây ra một số vấn đề. Trong thư mục đó, tôi có core-site.xml
có chứa các thông tin sau
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
Nếu tôi thay đổi giá trị, ví dụ: <value>hdfs://localhost:9100</value>
sau đó khi tôi cố gắng để chạy các công việc spark, kết nối từ chối đề cập đến lỗi cổng thay đổi này
Exception in thread "main" java.net.ConnectException: Call From 37-2-37-10.tssg.org/10.37.2.37 to localhost:9100 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
Vì vậy, đối với một số lý do, mặc dù hướng dẫn nó để chạy cục bộ, nó đang cố gắng để kết nối với HDFS. Nếu tôi xóa biến môi trường HADOOP_CONF_DIR
, công việc sẽ hoạt động tốt.
bạn có đang thiết lập cấu hình chính trong công việc của mình không? – eliasah
Tôi không chắc chắn chính xác những gì bạn muốn nói (có thể là dấu hiệu cho thấy tại sao nó không hoạt động!). Tôi chỉ đang chạy lệnh '$ SPARK_HOME/bin/spark-submit - lớp" SimpleApp "--master local [4] ~/study/scala/sampleJavaApp/target/simple-project-1.0.jar' –
bạn thế nào thiết lập SparkContext của bạn trong dự án Java của bạn? – eliasah