tag remove hub compose docker server bigdata scheduler apache-zookeeper

remove - docker-compose



cómo programar el trabajo con la supervisión de la CPU, la memoria, el disco io, etc. (2)

Mi problema es que tengo un servidor dedicado, pero los recursos todavía son limitados, es decir, IO, memoria, CPU, etc. Necesito ejecutar muchos trabajos todos los días. Algunos trabajos son intensivos y algunos trabajos son intensivos en computación. ¿Hay alguna manera de controlar el estado actual y decidir cuándo iniciar un nuevo trabajo desde mi grupo de trabajo o no? Por ejemplo, cuando sabe que el trabajo en ejecución actual es io intensivo, puede almorzar un trabajo que no se retransmite en gran parte de io. O puede elegir un trabajo en ejecución que use mucho disco io, detenerlo, reprogramarlo más tarde. Se me ocurrió la solución con Docker, ya que puede monitorear el proceso, pero no conozco ese tipo de planificador construido sobre la docker. Gracias


Dependiendo de la versión Docker en la que esté conectado, tiene varias opciones para prod. Puede utilizar el Enjambre Docker nativo (acaba de pasar GA en v1.9), puede probar Kubernetes más maduro o HashiCorp''s Nomad (primeros días) y, por supuesto, Apache Mesos + Marathon . Consulte también esta comparación para obtener más información sobre el tema.


Puede consultar el comando docker stats para obtener métricas básicas sobre lo que se está ejecutando en los contenedores gestionados por un daemon docker.

No se puede asignar un trabajo a un nodo exactamente en función de su comportamiento dinámico . Eso significaría saber de antemano qué tipo de recurso utilizará un trabajo. Lo cual no se describe en la ventana acoplable.

Docker proporciona una forma de etiquetar los nodos que habilitan los archivadores de enjambres , lo que permitiría a un administrador de clúster como enjambre seleccionar el nodo correcto en función de los criterios representados por una etiqueta.

Pero Docker no sabe sobre el "trabajo" a punto de ser lanzado.