我已经在 Spark 的独立模式下使用 ec2-script 启动了一个 10 节点集群。我正在从 PySpark shell 中访问 s3 存储桶中的数据,但是当我在 RDD 上执行转换时,只使用了一个节点。例如,下面将从 CommonCorpus 中读取数据:
bucket = ("s3n://@aws-publicdatasets/common-crawl/crawl-data/CC-MAIN-2014-23/"
"/segments/1404776400583.60/warc/CC-MAIN-20140707234000-00000-ip-10"
"-180-212-248.ec2.internal.warc.gz")
data = sc.textFile(bucket)
data.count()
当我运行它时,我的 10 个从站中只有一个处理数据。我知道这一点,因为从 Spark Web 控制台查看时,只有一个从站 (213) 有任何活动日志。当我查看 Ganglia 中的活动时,这个相同的节点 (213) 是唯一一个在活动运行时内存使用量激增的从站。
此外,当我使用只有一个从属设备的 ec2 集群运行相同的脚本时,我具有完全相同的性能。我正在使用 Spark 1.1.0,非常感谢任何帮助或建议。