5

我正在使用 Cloudera Quickstart VM 5.3.0(在 Windows 7 上的 Virtual Box 4.3 中运行)并且我想学习 Spark(在 YARN 上)。

我启动了 Cloudera Manager。在侧边栏中,我可以看到所有服务,有 Spark,但处于独立模式。所以我点击“添加新服务”,选择“Spark”。然后我必须为此服务选择依赖项集,我没有选择我必须选择 HDFS/YARN/zookeeper。下一步我必须选择一个历史服务器和一个网关,我在本地模式下运行 VM,所以我只能选择 localhost。

我单击“继续”并发生此错误(+ 69 个跟踪):

发生服务器错误。将以下信息发送到 Cloudera。

路径:http://localhost:7180/cmf/clusters/1/add-service/reviewConfig

版本:Cloudera Express 5.3.0(#155 由 jenkins 在 20141216-1458 git 上构建:e9aae1d1d1ce2982d812b22bd1c29ff7af355226)

org.springframework.web.bind.MissingServletRequestParameterException:在 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker raiseMissingParameterException() 的 AnnotationMethodHandlerAdapter.java 行 738 中不存在所需的长参数“serviceId”

我不知道是否需要互联网连接,但我准确地说我无法使用虚拟机连接到互联网。(编辑:即使有互联网连接,我也会遇到同样的错误)

我不知道如何添加此服务,我尝试过使用或不使用网关,有很多网络选项,但它从未奏效。我检查了已知问题;没有什么...

有人知道我如何解决此错误或如何解决?谢谢你的帮助。

4

1 回答 1

2

朱利安,

在回答您的问题之前,我想在 Cloudera Distribution of Hadoop 5 (CDH5) 中对 Spark 做一些一般性说明:

  1. Spark 以三种不同的格式运行:(1) 本地,(2) Spark 自己的独立管理器,以及 (3) 其他集群资源管理器,如 Hadoop YARN、Apache Mesos 和 Amazon EC2。
  2. Spark 在 (1) 和 (2) 中使用 CHD 5 开箱即用。 您可以在 Scala 中使用命令或Python启动本地交互式 spark 会话,而无需传递任何参数。我发现交互式 Scala 和 Python 解释器有助于学习使用弹性分布式数据集 (RDD) 进行编程。spark-shellpyspark

我能够在我的 CDH 5.3.x 发行版上重现您的错误。我并不是要对您发现的错误负责,但我向 Cloudera 开发人员社区发布了反馈意见。

为了在 QuickStart 伪分布式环境中使用 Spark,请使用以下命令查看是否所有 Spark 守护程序都在运行(您可以在 Cloudera Manager (CM) UI 中执行此操作):

[cloudera@quickstart simplesparkapp]$ sudo service --status-all | grep -i spark
Spark history-server is not running                        [FAILED]
Spark master is not running                                [FAILED]
Spark worker is not running                                [FAILED]

我已经手动停止了所有独立的 Spark 服务,因此我们可以尝试在 Yarn 中提交 Spark 作业。

为了在快速启动集群上的 Yarn 容器中运行 Spark,我们必须执行以下操作:

  1. 将 设置为包含配置文件HADOOP_CONF_DIR的目录的根目录。yarn-site.xml这通常/etc/hadoop/conf在 CHD5 中。您可以使用命令设置此变量export HADOOP_CONF_DIR="/etc/hadoop/conf"
  2. spark-submit使用并指定您正在使用 Hadoop YARN提交作业。

    spark-submit --class CLASS_PATH --master yarn JAR_DIR ARGS

  3. 检查 Hue 中的作业状态并与 Spark History 服务器进行比较。Hue 应该显示放置在通用 Yarn 容器中的作业,并且 Spark History 不应该有提交作业的记录。
使用的参考资料:

于 2015-04-08T17:55:03.863 回答