java dispatcher 模式_使用Dispatcher的Spark Mesos集群模式

我只有一台机器,并希望使用mesos集群模式运行spark作业 . 使用节点集群运行可能更有意义,但我主要想首先测试mesos以检查它是否能够更有效地利用资源(同时运行多个spark作业而不进行静态分区) . 我尝试了很多方法但没有成功 . 这是我做的:

构建mesos并运行mesos主站和从站(同一台机器中的2个从站) .

sudo ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos

sudo ./bin/mesos-slave.sh --master=127.0.0.1:5050 --port=5051 --work_dir=/tmp/mesos1

sudo ./bin/mesos-slave.sh --master=127.0.0.1:5050 --port=5052 --work_dir=/tmp/mesos2

运行spark-mesos-dispatcher

sudo ./sbin/start-mesos-dispatcher.sh --master mesos://localhost:5050

使用调度程序作为主URL提交应用程序 .

spark-submit --master mesos://localhost:7077

但它不起作用:

E0925 17:30:30.158846 807608320 socket.hpp:174] Shutdown failed on fd=61: Socket is not connected [57]

E0925 17:30:30.159545 807608320 socket.hpp:174] Shutdown failed on fd=62: Socket is not connected [57]

如果我使用spark-submit --deploy-mode集群,那么我收到另一条错误消息:

Exception in thread "main" org.apache.spark.deploy.rest.SubmitRestConnectionException: Unable to connect to server

如果我不使用调度程序但直接使用mesos master url,它可以正常工作: - master mesos:// localhost:5050(客户端模式) . 根据documentation,Mesos群集不支持群集模式,但它们为群集模式here提供了另一条指令 . 这有点令人困惑?我的问题是:

我怎么能搞定它?

如果我直接从主节点提交app / jar,我应该使用客户端模式而不是集群模式吗?

如果我有一台计算机,我应该生成一个或多个mesos slave进程 . 基本上,我有一些火花工作,不想做资源的静态分区 . 但是当使用没有静态分区的mesos时,它似乎要慢得多?

谢谢 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值