首页 > 解决方案 > Spark+Mesos Initial job 没有接受任何资源;检查您的集群 UI 以确保工作人员已注册并拥有足够的资源

问题描述

我在云上有一个主人,有 3 个主人和 10 个奴隶。

所有从属服务器都处于活动状态,但在 Mesos Master UI 中分配了 0 个资源:

代理详细信息页面

在主页中,我可以看到 10 个已激活的代理,但有 9 个无法访问:

消息

我尝试在集群上运行的作业永远停留在 RUNNING 状态。

Spark 是否需要启动并运行(在每个从站上运行 start-slave.sh)或 mesos 是否需要?有什么问题?

机器上没有阻塞端口

编辑:

看起来启动应用程序的机器能够连接到主服务器:

I0902 18:01:31.472944 14997 zookeeper.cpp:262] A new leading master (UPID=master@X:5000) is detected
I0902 18:01:31.473047 14993 sched.cpp:343] New master detected at master@X:5000
I0902 18:01:31.473348 14993 sched.cpp:363] No credentials provided. Attempting to register without authentication
I0902 18:01:31.475391 14994 sched.cpp:751] Framework registered with 9984df9d-0efb-4f83-bf6a-0cecb19b1a39-0002

它也尝试启动一项任务,但它被卡住了,这种行为是循环的:

在此处输入图像描述

标签: apache-sparkcloudmesosmesosphere

解决方案


这个问题的两个解决方案:

  1. 在所有 mesos 从站中安装 hadoop 客户端

    • 将 spark-xyztar.gz 放入 hdfs
    • inspark 配置:spark.executor.uri hdfs://nn:9000/path/spark-xyztar.gz
    • 在 spark-env 中:导出 SPARK_EXECUTOR_URI=hdfs://nn:9000/path/spark-xyztar.gz
  2. 将 spark-xyztar.gz 放入 /path/in/os/

    • 在 spark-conf 中: spark.executor.uri /path/in/os/spark-xyztar.gz
    • 在 spark-env 中:导出 SPARK_EXECUTOR_URI=/path/in/os/spark-xyztar.gz

否则:在 mesos ui -> 代理选项卡 -> 沙箱 -> 标准错误(检查错误详细信息)


推荐阅读