spark/yarn-spark submit中并非所有节点都使用

vfwfrxfs  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(633)

我有一个Spark/Yarn集群与3个奴隶设置在美国焊接学会。
我提交这样一份工作: ~/spark-2.1.1-bin-hadoop2.7/bin/spark-submit --master yarn --deploy-mode cluster my.py 最后的结果是一个包含集群中所有从属主机的所有主机名的文件。我希望在输出文件中混合使用主机名,但是在输出文件中只看到一个主机名。这意味着Yarn永远不会利用集群中的其他奴隶。
我在配置中遗漏了什么吗?
我还包括我的 spark-env.sh 设置如下。

  1. HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop/
  2. YARN_CONF_DIR=/usr/local/hadoop/etc/hadoop/
  3. SPARK_EXECUTOR_INSTANCES=3
  4. SPARK_WORKER_CORES=3

我的.py

  1. import socket
  2. import time
  3. from pyspark import SparkContext, SparkConf
  4. def get_ip_wrap(num):
  5. return socket.gethostname()
  6. conf = SparkConf().setAppName('appName')
  7. sc = SparkContext(conf=conf)
  8. data = [x for x in range(1, 100)]
  9. distData = sc.parallelize(data)
  10. result = distData.map(get_ip_wrap)
  11. result.saveAsTextFile('hby%s'% str(time.time()))
8zzbczxx

8zzbczxx1#

在我更新了以下设置或spark-env.sh之后,所有从机都被利用了。

  1. SPARK_EXECUTOR_INSTANCES=3
  2. SPARK_EXECUTOR_CORES=8

相关问题