火花/纱线 - 并非所有节点都在Spark -Submit中使用



我在AWS上设置了一个Spark/Yarn群集。

i像这样的工作: ~/spark-2.1.1-bin-hadoop2.7/bin/spark-submit --master yarn --deploy-mode cluster my.py和最终结果是一个文件,其中包含集群中所有奴隶的所有主机名。我期望我在输出文件中混合了主机名,但是,我只在输出文件中看到一个主机名。这意味着纱线永远不会在集群中使用其他奴隶。

我是否缺少配置中的某些内容?

我还在下面包括了我的spark-env.sh设置。

HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop/
YARN_CONF_DIR=/usr/local/hadoop/etc/hadoop/
SPARK_EXECUTOR_INSTANCES=3
SPARK_WORKER_CORES=3

my.py

import socket
import time
from pyspark import SparkContext, SparkConf
def get_ip_wrap(num):
    return socket.gethostname()
conf = SparkConf().setAppName('appName')
sc = SparkContext(conf=conf)
data = [x for x in range(1, 100)]
distData = sc.parallelize(data)
result = distData.map(get_ip_wrap)
result.saveAsTextFile('hby%s'% str(time.time()))

我更新以下设置或spark-env.sh后,使用了所有奴隶。

SPARK_EXECUTOR_INSTANCES=3
SPARK_EXECUTOR_CORES=8

相关内容

  • 没有找到相关文章

最新更新