The message clarifies it, the task+executor have some unreserved resources:
cpus(allocated: controller):6; mem(allocated: controller):8000

But the resources offered were reserved:
cpus(allocated: controller)(reservations: [(STATIC,controller)]):6;
mem(allocated: controller)(reservations: [(STATIC,controller)]):8000; +
disk + ports

The scheduler needs to provide resources that are contained in the offer,
in this case it needs to include the missing reservation metadata.

On Thu, Mar 8, 2018 at 6:57 PM, 罗 辉 <luo...@zetyun.com> wrote:

> yes,I modified my code like below:
>
>   def acknowledgeTaskMessage(taskStatus: TaskStatus): String = {
>     taskStatus.getMessage
>   }
> def update(mesos: Mesos, status: TaskStatus) = {
>     val message = acknowledgeTaskMessage(status)
>     println("The message of current task is :" + message)
>     println("Status update: task " + status.getTaskId().getValue() + " is
> in state " + status.getState().getValueDescriptor().getName())
>
> ......
>
> And I got below log as attched file line 231:
> 231 Received an UPDATE event
> 232 The message of current task is :Total resources cpus(allocated:
> controller):6; mem(allocated: controller):8000 required by task and     its
> executor is more than available cpus(allocated: controller)(reservations:
> [(STATIC,controller)]):6; mem(allocated: controller)    (reservations:
> [(STATIC,controller)]):8000; disk(allocated: controller)(reservations:
> [(STATIC,controller)]):550264; ports(allocate    d:
> controller):[31000-32000]
> 233 Status update: task 1 is in state TASK_ERROR
>
>
>
> 罗辉
>
> 基础架构
> ------------------------------
> *发件人:* Benjamin Mahler <bmah...@apache.org>
> *发送时间:* 2018年3月9日 9:24:37
> *收件人:* user
> *主题:* Re: Status update: task 1 is in state TASK_ERROR
>
> Can you log the message provided in the TaskStatus?
>
> https://github.com/apache/mesos/blob/1.5.0/include/mesos/v1/
> mesos.proto#L2424
>
> On Wed, Mar 7, 2018 at 11:23 PM, 罗 辉 <luo...@zetyun.com> wrote:
>
> Hi guys:
>
>     I got a mesos test app, mostly likely
>
> https://github.com/apache/mesos/blob/master/src/java/src/org
> /apache/mesos/v1/scheduler/V1Mesos.java
>
> just to run a simple task "free -m". The app can not run the task
> successfully, always got a log info :
>
> Received an UPDATE event
> Status update: task 1 is in state TASK_ERROR
>
>
>     I checked the logs , but no Errors  in the mesos-master.ERROR or
> mesos-agent.ERROR, only in mesos-master.INFO shows :
>
> W0307 17:55:28.180716 29438 validation.cpp:1298] Executor 'default' for
> task '1' uses less CPUs (None) than the minimum required (0.01). Please
> update your executor, as this will be mandatory in future releases.
> W0307 17:55:28.180766 29438 validation.cpp:1310] Executor 'default' for
> task '1' uses less memory (None) than the minimum required (32MB). Please
> update your executor, as this will be mandatory in future releases.
>       Following this log, I didn't find a way to set the executor's
> resource or similar code example
>
>       Why my little app always fails? Thanks for any ideas.
>
>
> San
>
>
>

Reply via email to