无法在 Cloudera Quickstart VM 5.3.0 中使用 Cloudera Manager 添加新服务

Unable to add a new service with Cloudera Manager within Cloudera Quickstart VM 5.3.0

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

我启动了 Cloudera Manager。在侧边栏中,我可以看到所有服务,其中有 Spark,但处于独立模式。所以我点击了"Add a new service"、select "Spark"。然后我必须 select 这个服务的依赖集,我没有选择我必须选择 HDFS/YARN/zookeeper。 下一步我必须选择一个历史服务器和一个网关,我 运行 虚拟机处于本地模式,所以我只能选择本地主机。

我点击 "Continue" 并出现此错误(+ 69 条记录):

A server error as occurred. Send the following information to Cloudera.

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

Version: Cloudera Express 5.3.0 (#155 built by jenkins on 20141216-1458 git: e9aae1d1d1ce2982d812b22bd1c29ff7af355226)

org.springframework.web.bind.MissingServletRequestParameterException:Required long parameter 'serviceId' is not present at AnnotationMethodHandlerAdapter.java line 738 in org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker raiseMissingParameterException()

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

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

有人知道我该如何解决这个错误或我该如何解决?感谢您的帮助。

朱利安,

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

  1. Spark 运行三种不同格式:(1) 本地,(2) Spark 自己的独立管理器,以及 (3) 其他集群资源管理器,如 Hadoop YARN、Apache Mesos 和 Amazon EC2 .
  2. Spark 开箱即用,CHD 5 用于 (1) 和 (2)。您可以启动 local 使用 spark-shell 命令在 Scala 中进行交互式 spark 会话 或 pyspark for Python 不传递任何参数。我找到交互式 Scala 和 Python 口译员帮助学习使用 Resilient Distributed 进行编程 数据集 (RDD)。

我能够在我的 CDH 5.3.x 发行版上重现您的错误。我并不是想把你发现的错误归功于你,但是 I posted to the Cloudera developer community for feedback.

为了在 QuickStart 伪分布式环境中使用 Spark,请使用以下命令查看是否所有 Spark 守护进程 运行ning(您可以在 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 作业。

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

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

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

  3. Check the job status in Hue and compare to the Spark History server. Hue should show the job placed in a generic Yarn container and Spark History should not have a record of the submitted job.
References used: