【问题标题】:Unable to launch python scripts on the YARN Hadoop cluster via remote无法通过远程在 YARN Hadoop 集群上启动 python 脚本
【发布时间】:2016-02-03 19:50:10
【问题描述】:

几周以来,我尝试通过远程访问或连接到 YARN 集群的 pyspark shell 提交 python 脚本。

我是 HADOOP 世界的新手。我想要的是在外部 HADOOP 集群上的本地 shell 中提交 spark 脚本。

我的情况:外部 hadoop YARN 集群。可以访问重要港口。我有 Windows 7 64 位/Python 2.7.9 64 位/Spark 1.4.1。 HADOOP 集群正在运行,没有任何问题。

我的问题:在 HADOOP 集群上通过远程访问提交 python 脚本不起作用。

如果我尝试 spark-submit --master yarn-cluster --num-executors 2 --driver-memory 512m --executor-memory 512m --executor-cores 4 ... example.py

上面写着

Error: Cluster deploy mode is not applicable to Spark shells.
Exception: Java gateway process exited before sending the driver its port number

据我所知,我认为问题是

如何正确设置 yarn-config 以将本地客户端(不是集群的一部分)连接到外部 YARN 集群。

【问题讨论】:

  • 我自己也学到了一些新知识。到目前为止,我能够通过腻子连接到外部纱线集群。所以连接集群并激活 pyspark 是可行的。提交 pythonscripts 也有效。我目前的问题是我没有本地“YARN_CONF_DIR”位置。我在集群上找到了所需的文件并将它们复制到我的本地机器(不是集群的一部分)。我也可以访问集群的重要端口,但我无法连接到它。我的想法一方面是复制的 conf 文件已损坏,或者我需要激活其他东西。

标签: python hadoop hadoop-yarn


【解决方案1】:

SPARK VERSION 1.6.0(写这篇文章的当前版本)。

Python 代码不能在 YARN 集群模式下执行。 Python 只能在原生 spark 集群上以集群模式执行。

您可以改用 spark 集群,也可以用 Java 或 Scala 重新实现代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 2018-03-23
    • 2015-06-16
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    相关资源
    最近更新 更多