2014-12-22 20 views
6

Tôi đã thiết lập tia lửa trên 3 máy bằng phương pháp tập tin tar. Tôi chưa thực hiện bất kỳ cấu hình nâng cao nào, tôi đã chỉnh sửa tệp nô lệ và bắt đầu làm chủ và công nhân. Tôi có thể thấy sparkUI trên cổng 8080. Bây giờ tôi muốn chạy kịch bản python đơn giản trên cụm tia lửa.làm thế nào để chạy kịch bản python trong công việc spark?

import sys 
from random import random 
from operator import add 

from pyspark import SparkContext 


if __name__ == "__main__": 
    """ 
     Usage: pi [partitions] 
    """ 
    sc = SparkContext(appName="PythonPi") 
    partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2 
    n = 100000 * partitions 

    def f(_): 
     x = random() * 2 - 1 
     y = random() * 2 - 1 
     return 1 if x ** 2 + y ** 2 < 1 else 0 

    count = sc.parallelize(xrange(1, n + 1), partitions).map(f).reduce(add) 
    print "Pi is roughly %f" % (4.0 * count/n) 

    sc.stop() 

Tôi đang chạy lệnh này

spark-nộp spark --master: // IP: 7077 pi.py 1

Nhưng nhận lỗi sau

14/12/22 18:31:23 INFO scheduler.TaskSchedulerImpl: Adding task set 0.0 with 1 tasks 
14/12/22 18:31:38 WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory 
14/12/22 18:31:43 INFO client.AppClient$ClientActor: Connecting to master spark://10.77.36.243:7077... 
14/12/22 18:31:53 WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory 
14/12/22 18:32:03 INFO client.AppClient$ClientActor: Connecting to master spark://10.77.36.243:7077... 
14/12/22 18:32:08 WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory 
14/12/22 18:32:23 ERROR cluster.SparkDeploySchedulerBackend: Application has been killed. Reason: All masters are unresponsive! Giving up. 
14/12/22 18:32:23 INFO scheduler.TaskSchedulerImpl: Removed TaskSet 0.0, whose tasks have all completed, from pool 
14/12/22 18:32:23 INFO scheduler.TaskSchedulerImpl: Cancelling stage 0 
14/12/22 18:32:23 INFO scheduler.DAGScheduler: Failed to run reduce at /opt/pi.py:21 
Traceback (most recent call last): 
    File "/opt/pi.py", line 21, in <module> 
    count = sc.parallelize(xrange(1, n + 1), partitions).map(f).reduce(add) 
    File "/usr/local/spark/python/pyspark/rdd.py", line 759, in reduce 
    vals = self.mapPartitions(func).collect() 
    File "/usr/local/spark/python/pyspark/rdd.py", line 723, in collect 
    bytesInJava = self._jrdd.collect().iterator() 
    File "/usr/local/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py", line 538, in __call__ 
    File "/usr/local/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py", line 300, in get_return_value 
py4j.protocol.Py4JJavaError: An error occurred while calling o26.collect. 
: org.apache.spark.SparkException: Job aborted due to stage failure: All masters are unresponsive! Giving up. 
     at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1185) 
     at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1174) 
     at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1173) 
     at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 
     at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) 

có ai gặp phải vấn đề tương tự không. Plz giúp đỡ trong việc này.

Trả lời

3

này:

WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory 

gợi ý rằng các cụm không có bất kỳ nguồn lực sẵn có.

Kiểm tra trạng thái cụm của bạn và kiểm tra lõi và RAM (http://www.datastax.com/dev/blog/common-spark-troubleshooting).

Ngoài ra, hãy kiểm tra lại địa chỉ IP của bạn.

Để biết thêm ý tưởng: Running a Job on Spark 0.9.0 throws error

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