AnsibleShipyard/ansible-mesos

Name: ansible-mesos

Owner: Ansible Shipyard

Description: Mesos Playbook for Ansible

Created: 2014-01-08 04:34:23.0

Updated: 2018-01-10 17:03:33.0

Pushed: 2018-01-12 11:11:28.0

Homepage: null

Size: 128

Language: null

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

ansible-mesos - Ansible Playbook for Mesos

Build Status

The ansible-mesos role supports the installation and configuration of a mesos cluster with options for master, slave or a master-slave setup. It supports Ubuntu and RedHat/Centos.

It also allows the setting of specific slave executors so you can run with native docker support.

Installation
ble-galaxy install JasonGiedymin.mesos
Dependencies

Java and Zookeeper

Requirements

Ansible version at least 1.7

Role Variables

s_install_mode: "master" # {master|slave|master-slave}
s_version: "1.0.1"

bian
s_package_version: "2.0.93"
s_os_distribution: "{{ ansible_distribution | lower }}"
s_os_version: "{{ ansible_distribution_version.split('.') | join('') }}"
s_apt_url: "http://{{ mesos_repo_host }}/{{ ansible_distribution | lower }}"
s_package_full_version: "{{ mesos_version }}-{{ mesos_package_version }}.{{ mesos_os_distribution }}{{ mesos_os_version }}"
s_apt_package: "mesos={{ mesos_package_full_version }}"

dHat: EPEL and Mesosphere yum repositories URL
_repo: "https://dl.fedoraproject.org/pub/epel/{{ os_version_major }}/{{ ansible_architecture }}/{{ epel_releases[os_version_major] }}"
sphere_yum_repo: "https://repos.mesosphere.com/el/{{ os_version_major }}/noarch/RPMS/{{ mesosphere_releases[os_version_major] }}"

nf file settings
s_cluster_name: "mesos_cluster"
s_ip: "{{ ansible_default_ipv4.address }}"
s_hostname: "{{ ansible_hostname }}"
s_master_port: "5050"
s_slave_port: "5051"
s_log_location: "/var/log/mesos"
s_ulimit: "-n 8192"
s_work_dir: "/var/mesos"
s_quorum: "1"
eeper_client_port: "2181"
eeper_hostnames: "{{ mesos_hostname }}:{{ zookeeper_client_port }}"
s_zookeeper_masters: "zk://{{ zookeeper_hostnames }}/mesos"
s_owner: root
s_group: root

ntainerizer
s_containerizers: "docker,mesos"
s_executor_timeout: "5mins"

L
s_ssl_enabled: false
s_ssl_support_downgrade: false
s_ssl_key_file: # When SSL is enabled this must be used to point to the SSL key file
s_ssl_cert_file: # When SSL is enabled this must be used to point to the SSL certificate file

s_option_prefix: "MESOS_"

ditional configurations
s_additional_configs: []
For example:
- name: FOO
  value: bar

ditional configurations for master
s_master_additional_configs: []
For example:
- name: FOO
  value: bar

ditional configurations for slave
s_slave_additional_configs: []
For example:
- name: FOO
  value: bar
Playbook Example
me: Java + Zookeeper + Mesos [master-slave]
sts: all
do: yes
les:
- role: geerlingguy.java

- role: AnsibleShipyard.ansible-zookeeper

- role: ansible-mesos
  mesos_install_mode: master-slave

Docker is only required on slave nodes and is not installed by default. To use docker with Mesos ensure that docker is installed on slave nodes. You can then set `mesos_containerizers: "docker,mesos"` for slave nodes.

License

Apache License

AnsibleShipyard

Our related playbooks

  1. ansible-marathon
  2. ansible-chronos
  3. ansible-zookeeper
Author Information

@AnsibleShipyard/developers and others.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.