deploylib.mesos

Cluster

class Cluster extends AnyRef

Functions to help maintain a mesos cluster on EC2.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Cluster
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Cluster (region: EC2Region, useFT: Boolean)

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. def addSlaves (count: Int, updateDeploylibOnStart: Boolean = true): Seq[EC2Instance]

    Add slaves to the cluster

  7. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  8. def authorizeMaster : Unit

    Create a public key on the master if it doesn't exist Then add that to the authorized key file all of slaves TODO: Dedup keys

  9. def availabilityZone : Option[String]

    The default availability zone used when launching new instances.

  10. val baseConf : List[String]

    Attributes
    protected
  11. val binDir : File

  12. def classSource : Seq[S3CachedJar]

    Returns S3 Cached jars for all jar files specified in MesosCluster.

    Returns S3 Cached jars for all jar files specified in MesosCluster.jarFiles. This will upload any jar files that don't already exist

  13. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  14. def clusterUrl : String

    Returns the mesos cluster url

  15. val confFile : File

    the location of the configuration file for both masters and slaves on the remote machine

  16. def confWithUrl : List[String]

    Attributes
    protected
  17. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  18. def equals (arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  19. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  20. def firstMaster : EC2Instance

    Returns the EC2Instance for the first mesos master

  21. val frameworkDir : File

    Location of the deploylib framework on the remote instances

  22. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  23. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  24. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  25. val logger : Logger

  26. def masterServices : Buffer[RemoteService]

  27. def masters : Buffer[EC2Instance]

    Returns a list of EC2Instances for all the masters in the cluster

  28. val mesosAmi : String

    The ami used when launching new instances

  29. val mesosDir : File

    The location of mesos on the remote machine

  30. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  31. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  32. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  33. def pushJars : Seq[String]

  34. val region : EC2Region

  35. def restart (): Unit

    Restart masters, slaves, and the service scheduler.

    Restart masters, slaves, and the service scheduler. Also kills any java procs running on slaves.

  36. def restartMasters (): Unit

    Restart the mesos-master process for all masters

  37. def restartServiceScheduler : Unit

    Restart the service scheduler daemon running on the mesos master.

    Restart the service scheduler daemon running on the mesos master. NOTE: this will kill any other java procs running on the master.

  38. def restartSlaves (): Unit

    Restart the mesos-slave process for all slaves

  39. def serviceScheduler : RemoteServiceScheduler

    A handle to the service scheduler for the cluster

  40. def serviceSchedulerNode : ZooKeeperNode

    The zookeeper node where the service scheduler registers itself

  41. def setup (numSlaves: Int = 1): Seq[Any]

    Start and configure the mesos master, at least numSlaves mesos slaves, and zookeeper in parallel.

  42. def setupMesosMaster (numMasters: Int = 1): Unit

    Configure the mesos master, starting instances if needed.

  43. def setupZooKeeper (numServers: Int = 1): Unit

    Configure all zookepers running to operate in a quorum.

    Configure all zookepers running to operate in a quorum. Starts at at least numServers if they aren't already running.

  44. def slaveConf (instance: EC2Instance): String

    Returns the contents of the mesos slave configuration file.

  45. def slaveService (inst: EC2Instance): RemoteService

    Attributes
    protected
  46. def slaveServices : Buffer[RemoteService]

  47. def slaves : Buffer[EC2Instance]

    Returns a list of EC2Instances for all the slaves in the cluster

  48. def startMasterInstances (count: Int, zone: Option[String] = None): Seq[EC2Instance]

    Attributes
    protected
  49. def startMasters (count: Int = 1, ami: String = mesosAmi): Seq[EC2Instance]

    Start and configure the specified number of masters.

  50. def stopAllInstances (): Unit

    Kills all instances running on EC2 for this mesos cluster cluster (masters, slaves, zookeepers)

  51. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  52. def toString (): String

    Definition Classes
    AnyRef → Any
  53. def updateDeploylib (instances: Seq[EC2Instance] = slaves ++ masters): Unit

    Update the jars and scripts for deploylib on the specified instances (default: all masters + slaves) using the current classSource

  54. def updateMasterConf : Unit

    Updates the master configuration file on all masters.

  55. def updateMesos : Unit

    Copy the mesos binaries from the master to all slaves

  56. def updateSlaveConf (instances: Seq[EC2Instance] = slaves): Unit

    Updates the slave configuration file on the specified instances (default all slaves)

  57. val useFT : Boolean

  58. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  59. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  60. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  61. def watchExecLogs : Unit

    Watch stderr of the most recently started framework on all slaves and print the output to stdout of the local machine.

    Watch stderr of the most recently started framework on all slaves and print the output to stdout of the local machine. Used for debugging.

  62. def watchSlaveLogs : Unit

    Watch stdout of the most recently started framework on all slaves and print the output to stdout of the local machine.

    Watch stdout of the most recently started framework on all slaves and print the output to stdout of the local machine. Used for debugging.

  63. def zooKeeperAddress : String

    Returns he canonical address for the zookeeper quorum for this cluster

  64. def zooKeeperRoot : ZooKeeperNode

    Returns a handle to the root of the the zookeeper quorum for this cluster

  65. def zooKeepers : Buffer[EC2Instance]

    Returns a list of EC2Instances for all the zookeepers in the clsuter

Deprecated Value Members

  1. def tailSlaveLogs : Unit

    Annotations
    @deprecated
    Deprecated

    use watchSlaveLogs

  2. def updateSlavesFile : Unit

    Update the slaves file for the mesos scripts located in /root/mesos-ec2

    Update the slaves file for the mesos scripts located in /root/mesos-ec2

    Annotations
    @deprecated
    Deprecated

    don't use the mesos scripts anymore

Inherited from AnyRef

Inherited from Any