【发布时间】:2017-10-29 05:00:59
【问题描述】:
我有一个 Spark/YARN 集群,在 AWS 上设置了 3 个从站。
我 spark-submit 一个这样的工作:~/spark-2.1.1-bin-hadoop2.7/bin/spark-submit --master yarn --deploy-mode cluster my.py 最后的结果是一个包含集群中所有从属服务器的所有主机名的文件。我期待我在输出文件中得到混合主机名,但是,我在输出文件中只看到一个主机名。这意味着 YARN 永远不会使用集群中的其他从属服务器。
我是否在配置中遗漏了什么?
我还在下面添加了我的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
我的.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()))
【问题讨论】:
标签: hadoop apache-spark hadoop-yarn hadoop2 namenode