William-Yeh.elasticsearch
williamyeh.elasticsearch para Ansible Galaxy
============
Resumen
Nombre del rol en Ansible Galaxy: williamyeh.elasticsearch
Este rol de Ansible tiene las siguientes características para Elasticsearch:
- Instalar Elasticsearch.
 - Especificar el tamaño de la memoria (heap size) y G1GC para JVM, si se solicita.
 - Instalar plugins (estándar y de terceros).
 - Configuración básica (*la configuración real debe dejarse a los archivos plantilla del usuario; vea la sección de Uso a continuación).
 
Variables del Rol
Variables Obligatorias
Variables que deben definirse en el playbook del usuario:
elasticsearch_version
Variables Opcionales
Archivos de configuración instalables por el usuario (a través del sistema de plantillas de Ansible):
# archivo de configuración (generalmente elasticsearch.yml) a instalar,
# relativo a `playbook_dir`;
# el archivo se copiará tal cual
elasticsearch_conf_copy
# archivo de configuración (generalmente elasticsearch.yml.j2) a instalar,
# relativo a `playbook_dir`;
# el archivo se copiará a través del sistema de plantillas de Ansible
elasticsearch_conf_template
Plugins instalables por el usuario:
# una lista de plugins (registrados en elasticsearch.org) a instalar.
# @ver http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html
elasticsearch_plugins
# una lista de otros plugins a instalar.
# cada elemento de la lista debe tener al menos las siguientes claves:
# - "name", el nombre del plugin sin la subcadena ".jar".
# - "url", apuntando a la URL del archivo jar.
elasticsearch_other_plugins
Valores predeterminados configurables por el usuario:
# ¿usar G1GC para JVM?
elasticsearch_use_g1gc: false
# tamaño de la memoria (heap size) para Elasticsearch
elasticsearch_heap_size
Manejadores
reiniciar elasticsearchdetener elasticsearch
Uso
Paso 1: agregar rol
Agrega el nombre del rol williamyeh.elasticsearch a tu archivo de playbook.
Paso 2: agregar variables
Establece las variables en tu archivo de playbook.
Ejemplo simple:
---
# archivo: simple-playbook.yml
- hosts: all
  roles:
    - williamyeh.oracle-java
    - williamyeh.elasticsearch
  vars:
    elasticsearch_version: 1.6.0
Paso 3: ajustar la memoria de la JVM, si es necesario
---
- hosts: all
  roles:
    - williamyeh.oracle-java
    - williamyeh.elasticsearch
  vars:
    elasticsearch_version: 1.4.2
    elasticsearch_use_g1gc: true
    elasticsearch_heap_size: 6g
Paso 4: copiar archivo de configuración del usuario, instalar plugins, etc., si es necesario
Ejemplo más práctico:
---
# archivo: complex-playbook.yml
- hosts: all
  roles:
    - williamyeh.oracle-java
    - williamyeh.elasticsearch
  vars:
    elasticsearch_version: 1.4.2
    elasticsearch_plugins:
      - elasticsearch/marvel/latest
      - lmenezes/elasticsearch-kopf
    elasticsearch_other_plugins:
      - name: analysis-ik
        url:  https://github.com/medcl/elasticsearch-rtf/raw/master/plugins/analysis-ik/elasticsearch-analysis-ik-1.2.6.jar
        memo: https://github.com/medcl/elasticsearch-analysis-ik
    #-- copiar tal cual
    elasticsearch_conf_copy: "files/elasticsearch.yml"
    #-- copiar a través del sistema de plantillas de Ansible
    #elasticsearch_conf_template: "templates/elasticsearch.yml.j2"
Dependencias
Los hosts de destino deben tener JDK preinstalado. Puedes usar williamyeh.oracle-java u otros roles existentes en Ansible Galaxy.
Licencia
Licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Historia
Ninguna.
ansible-galaxy install William-Yeh.elasticsearch